//scenario 2 : get the access_token by refresh_token private ResponseData DoRefreshToken(Parameters parameters) { var token = _repo.GetToken(parameters.refresh_token, parameters.client_id); if (token == null) { return(new ResponseData { Code = "905", Message = "can not refresh token", Data = null }); } if (token.IsStop == 1) { return(new ResponseData { Code = "906", Message = "refresh token has expired", Data = null }); } var refresh_token = Guid.NewGuid().ToString().Replace("-", ""); token.IsStop = 1; //expire the old refresh_token and add a new refresh_token var updateFlag = _repo.ExpireToken(token); var addFlag = _repo.AddToken(new RToken { ClientId = parameters.client_id, RefreshToken = refresh_token, Id = Guid.NewGuid().ToString(), IsStop = 0 }); if (updateFlag && addFlag) { return(new ResponseData { Code = "999", Message = "OK", Data = GetJwt(parameters.client_id, refresh_token) }); } else { return(new ResponseData { Code = "910", Message = "can not expire token or a new token", Data = null }); } }
private ResponseData GenerateRefreshToken(Parameters parameters) { var token = _tokenRepository.GetToken(parameters.refresh_token.Trim(), parameters.username.Trim()); if (token == null) { return(new ResponseData { Code = "905", Message = "can not refresh token", Data = null }); } if (token.IsStop == 1) { return(new ResponseData { Code = "906", Message = "refresh token has expired", Data = null }); } var refresh_token = Guid.NewGuid().ToString().Replace("-", ""); token.IsStop = 1; //expire the old refresh_token and add a new refresh_token var updateFlag = _tokenRepository.ExpireToken(token); var addFlag = _tokenRepository.AddToken(new RToken { ClientName = parameters.username.Trim(), RefreshToken = refresh_token, Id = Guid.NewGuid().ToString(), IsStop = 0 }); if (updateFlag && addFlag) { return(new ResponseData { Code = "999", Message = "Ok", Data = GetJwt(parameters.username.Trim(), refresh_token) }); } return(new ResponseData { Code = "910", Message = "can not expire token or a new token", Data = null }); }
/// <summary>Get the access_token by refresh_token</summary> /// <param name="parameters"></param> /// <param name="_repo"></param> /// <param name="_settings"></param> public ResponseData DoRefreshToken(Parameters parameters, IRTokenRepository _repo, IOptions <Audience> _settings) { var token = _repo.GetToken(parameters.refresh_token, parameters.client_id).Result; if (token == null) { return(new ResponseData { Code = "905", Message = "can not refresh token", Data = null }); } if (token.IsStop == 1) { return(new ResponseData { Code = "906", Message = "refresh token has expired", Data = null }); } var refresh_token = Guid.NewGuid().ToString().Replace("-", ""); token.IsStop = 1; var updateFlag = _repo.ExpireToken(token).Result; var addFlag = _repo.AddToken(new RToken { ClientId = parameters.client_id, RefreshToken = refresh_token, Id = Guid.NewGuid().ToString(), IsStop = 0 }); if (updateFlag && addFlag.Result) { return(new ResponseData { Code = "999", Message = "OK", Data = GetJwt(parameters.client_id, refresh_token, _settings) }); } else { return(new ResponseData { Code = "910", Message = "can not expire token or a new token", Data = null }); } }
/// <summary>Get the access_token by refresh_token</summary> /// <param name="parameters"></param> /// <param name="_repo"></param> /// <param name="_settings"></param> public ResponseData DoRefreshToken(Parameters parameters, IRTokenRepository _repo, IOptions <Audience> _settings) { try { var token = _repo.GetToken(parameters.refresh_token, parameters.client_id).Result; if (token == null) { return(new ResponseData { Code = "905", Message = "can not refresh token", Data = null }); } if (token.IsStop == 1) { return(new ResponseData { Code = "906", Message = "refresh token has expired", Data = null }); } var refresh_token = Guid.NewGuid().ToString().Replace("-", ""); token.IsStop = 1; var updateFlag = _repo.ExpireToken(token).Result; var addFlag = _repo.AddToken(new RToken { ClientId = parameters.client_id, RefreshToken = refresh_token, Id = Guid.NewGuid().ToString(), IsStop = 0 }); if (updateFlag && addFlag.Result) { return(new ResponseData { Code = "999", Message = "OK", Data = GetJwt(parameters.client_id, refresh_token, _settings, BsonSerializer.Deserialize <RegisterModel>(MongoHelper.CheckForDatas("UserName", parameters.client_id, null, null, "Authentication", "Authentication")).UserRole) }); } else { return(new ResponseData { Code = "910", Message = "can not expire token or a new token", Data = null }); } } catch (Exception ex) { LoggerDataAccess.CreateLog("AuthHelper", "DoRefreshToken", ex.Message); return(new ResponseData { Code = "400", Message = "Failed", Data = null }); } }