public IEnumerator Revoke() { LastError = null; if (!Authenticated) { LastError = new RDataAuthenticationException("You need to be authenticated to Revoke the authentication"); yield break; } // If refresh token is not expired, revoke it by sending the revoke request if (!RefreshTokenExpired) { var revokeRequest = new RevokeRequest(RefreshToken); yield return(StartCoroutine(_httpClient.Send <RevokeRequest, RevokeRequest.RevokeResponse>(revokeRequest))); // If we have an error and this error is not an UnauthorizedException or ForbiddenException, we want to throw it // Otherwise, consume the error and revoke the token on the client (the token is already expired/revoked on the server) if (revokeRequest.HasError && !(revokeRequest.Error is Http.Exceptions.UnauthorizedException) && !(revokeRequest.Error is Http.Exceptions.ForbiddenException)) { LastError = new RDataAuthenticationException(revokeRequest.Error); yield break; } if (!revokeRequest.HasResponse) { LastError = new RDataAuthenticationException("Failed to Revoke(), http request failed but has no error"); yield break; } } ResetValues(); SaveToPlayerPrefs(); }
/// <summary> /// Revoke an existing endpoint. /// </summary> /// <param name="revokeParameters">The parameters for the revoke process.</param> /// <param name="privateKey">The private key.</param> /// <exception cref="RevokeException">Will be thrown if the revoking was not successful.</exception> public void Revoke(RevokeParameters revokeParameters, string privateKey) { var revokeRequest = new RevokeRequest { AccountId = revokeParameters.AccountId, EndpointIds = revokeParameters.EndpointIds, TimeZone = UtcDataService.TimeZone, UtcTimestamp = UtcDataService.Now }; var requestBody = JsonConvert.SerializeObject(revokeRequest); var httpRequestMessage = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri(_environment.RevokeUrl()), Content = new StringContent(requestBody, Encoding.UTF8, "application/json") }; httpRequestMessage.Headers.Add("X-Agrirouter-ApplicationId", revokeParameters.ApplicationId); httpRequestMessage.Headers.Add("X-Agrirouter-Signature", SignatureService.XAgrirouterSignature(requestBody, privateKey)); var httpResponseMessage = _httpClient.SendAsync(httpRequestMessage).Result; if (!httpResponseMessage.IsSuccessStatusCode) { throw new RevokeException(httpResponseMessage.StatusCode, httpResponseMessage.Content.ReadAsStringAsync().Result); } }
public async Task <bool> RevokeCertificate(string uid) { var request = new RevokeRequest { Uid = uid }; var response = await _httpClient.PostAsync("/api/Revoke", Serialize(request)); // No response content applicable - simply return whether the status code indicates successful revocation. return(response.IsSuccessStatusCode); }
public async Task RevokeAsync(string channel) { var accessToken = this.channelStore.Get(channel).AccessToken; var client = new RestClient(ApiUrl); var request = new RestRequest(RevokeApi); request.AddParameter("Authorization", $"Bearer {accessToken}", ParameterType.HttpHeader); var requestObject = new RevokeRequest() { }; request.AddObject(requestObject); await client.PostAsync <RevokeResponse>(request); }
public Response RevokeRegister(String CorpNum, String mgtKey, String orgConfirmNum, String orgTradeDate, bool smssendYN, String UserID, bool isPartCancel, int?cancelType, String supplyCost, String tax, String serviceFee, String totalAmount) { RevokeRequest request = new RevokeRequest(); request.mgtKey = mgtKey; request.orgConfirmNum = orgConfirmNum; request.orgTradeDate = orgTradeDate; request.smssenYN = smssendYN; request.isPartCancel = isPartCancel; request.cancelType = cancelType; request.supplyCost = supplyCost; request.tax = tax; request.serviceFee = serviceFee; request.totalAmount = totalAmount; String PostData = toJsonString(request); return(httppost <Response>("/Cashbill", CorpNum, UserID, PostData, "REVOKE")); }
public IActionResult RevokeCertificate(RevokeRequest revokeRequest) { User user = _userDBAuthenticator.GetUser(revokeRequest.Uid); if (user != null) { _caDBModifier.RevokeAllCertificatesOfUser(user); return(NoContent()); } else { _logger.LogWarning( string.Format( "Failed to revoke certificates of user {0}; No such user found.", revokeRequest.Uid ) ); return(BadRequest()); } }
private TelekomWebRequest CreateRequestRevokeWebRequest() { if (!HasRefreshToken()) { throw new InvalidOperationException("Cannot revoke without a refresh token"); } string uri = BaseUrl + "/revoke"; var request = new RevokeRequest() { ClientId = ClientId, ClientSecret = ClientSecret, Token = RefreshToken, TokenType = "refresh_token" }; var webRequest = new TelekomWebRequest(uri, HttpMethod.POST); request.BuildRequestParameters(webRequest); return(webRequest); }
//취소현금영수증 즉시발행 public CBIssueResponse RevokeRegistIssue(string CorpNum, string mgtKey, string orgConfirmNum, string orgTradeDate, bool smssendYN = false, string memo = null, bool isPartCancel = false, int?cancelType = null, string totalAmount = null, string supplyCost = null, string tax = null, string serviceFee = null, string UserID = null) { RevokeRequest request = new RevokeRequest(); request.mgtKey = mgtKey; request.orgConfirmNum = orgConfirmNum; request.orgTradeDate = orgTradeDate; request.smssenYN = smssendYN; request.memo = memo; request.isPartCancel = isPartCancel; request.cancelType = cancelType; request.totalAmount = totalAmount; request.supplyCost = supplyCost; request.tax = tax; request.serviceFee = serviceFee; string PostData = toJsonString(request); return(httppost <CBIssueResponse>("/Cashbill", CorpNum, PostData, "REVOKEISSUE", null, UserID)); }
public ResponseResult RevokeProject(RevokeRequest request) { LogHelper.Error("调用撤单API:" + request.ToJson(), null); var responseResult = new ResponseResult(); try { if (string.IsNullOrEmpty(request.bussinessId)) { throw new InvalidDataException("流水号/业务编号不能为空"); } var project = ProjectService.GetProject(request.bussinessId); if (project == null) { throw new InvalidDataException("评估项目未找到"); } ProjectService.RevokeProject(project.Id); responseResult.Code = 0; responseResult.Message = "success"; responseResult.Data = new { evalStatus = project.ProjectStatus }; } catch (InvalidDataException ex) { responseResult.Code = 1; responseResult.Message = ex.Message; } catch (Exception ex) { responseResult.Code = 1; responseResult.Message = "error"; LogHelper.Error("调用撤单API错误日志:", ex); } return(responseResult); }
private TelekomWebRequest CreateRequestRevokeWebRequest() { if (!HasRefreshToken()) throw new InvalidOperationException("Cannot revoke without a refresh token"); string uri = BaseUrl + "/revoke"; var request = new RevokeRequest() { ClientId = ClientId, ClientSecret = ClientSecret, Token = RefreshToken, TokenType = "refresh_token" }; var webRequest = new TelekomWebRequest(uri, HttpMethod.POST); request.BuildRequestParameters(webRequest); return webRequest; }
public IActionResult RevokeToken([FromBody] RevokeRequest revokeRequest) { Logger.Debug("Request: {0}", Framework.Common.SerializeJson.ToObject(revokeRequest)); DateTime dateRequest = DateTime.Now; var response = new IResponse <RevokeResponse>(); string correlationId = string.Empty; try { #region Authorization Usuario y Contraseña if (string.IsNullOrEmpty(Request.Headers["Authorization"])) { var validate = Models.Response.Error(null, "NotAuthenticated"); response.Data = null; response.Message = validate.Message; response.State = validate.State; return(Unauthorized(response)); } //AuthenticationHeaderValue authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]); //var credentials = Encoding.UTF8.GetString(Convert.FromBase64String(authHeader.Parameter)).Split(':'); correlationId = Request.Headers["Correlation-Id"].ToString(); Core.Entity.User user = new Core.Entity.User() { Public = revokeRequest.PublicToken, UserName = revokeRequest.UserAplication, Password = revokeRequest.PasswordAplication }; var userAuthenticate = _user.Authenticate(user); if (userAuthenticate.Data == null) { var validate = Models.Response.Error("NotAuthenticated"); response.Data = null; response.Message = validate.Message; response.State = validate.State; return(Unauthorized(response)); } Core.Entity.UserPolicy userPolicy = new Core.Entity.UserPolicy() { AppUserId = revokeRequest.AppUserId, IdUser = ((Core.Entity.User)userAuthenticate.Data).Id }; Core.Entity.Policy policy = new Core.Entity.Policy() { Name = Request.Path.Value }; var userPolicyAuthorize = _userPolicy.Authorize(userPolicy, policy); if (userPolicyAuthorize.Data == null) { var validate = Models.Response.Error("NotUnauthorized"); response.Data = null; response.Message = validate.Message; response.State = validate.State; return(Unauthorized(response)); } #endregion AuthenticationHeaderValue authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]); var credentialToken = authHeader.Parameter; var responsetokenValidated = _tokenManager.GetPrincipalFromExpiredToken(credentialToken); if (responsetokenValidated.Data == null) { response.Data = null; response.Message = responsetokenValidated.Message; response.State = responsetokenValidated.State; return(BadRequest(response)); } var principal = (ClaimsPrincipal)responsetokenValidated.Data; var claimList = principal.Claims.ToList(); var verifyEmail = claimList[2].Value; if (!verifyEmail.Equals(revokeRequest.Email.Trim())) { var validate = Models.Response.Error("ClientNotSession"); response.Data = null; response.Message = validate.Message; response.State = validate.State; return(BadRequest(response)); } var token = revokeRequest.Token ?? Request.Cookies["refreshToken"]; string ipAddress = ""; if (Request.Headers.ContainsKey("X-Forwarded-For")) { ipAddress = Request.Headers["X-Forwarded-For"]; } else { ipAddress = HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(); } var revokeToken = _refreshToken.RevokeToken(token, ipAddress); if (revokeToken.Data == null) { response.Data = null; response.State = revokeToken.State; response.Message = revokeToken.Message; return(BadRequest(response)); } response.Data = new RevokeResponse { Token = revokeRequest.Token }; response.Message = Models.Response.CommentMenssage("TokenRevokeSuccessful"); response.State = "000"; return(Ok(response)); } catch (Exception ex) { Logger.Error("Message: {0}; Exception: {1}", ex.Message, Framework.Common.SerializeJson.ToObject(ex)); response.Data = null; response.Message = "Error General"; response.State = "099"; return(BadRequest(response)); } finally { DateTime dateResponse = DateTime.Now; Core.Entity.ConsumptionHistory consumptionHistory = new Core.Entity.ConsumptionHistory { ApiName = Request.Path.Value, Host = Dns.GetHostName() + ":" + Request.Host.Port, CorrelationId = correlationId, AppUserId = revokeRequest.AppUserId, Request = Framework.Common.SerializeJson.ToObject(revokeRequest), DateRequest = dateRequest, Response = Framework.Common.SerializeJson.ToObject(response), DateResponse = dateResponse, CodeResponse = response.State }; _consumptionHistory.Insert(consumptionHistory); Logger.Debug("Request: {0} Response: {1}", revokeRequest, response); } }