/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { RevokeTokenResponse response = new RevokeTokenResponse(); return(response); }
public static RevokeTokenResponse Unmarshall(UnmarshallerContext context) { RevokeTokenResponse revokeTokenResponse = new RevokeTokenResponse(); revokeTokenResponse.HttpResponse = context.HttpResponse; revokeTokenResponse.RequestId = context.StringValue("RevokeToken.RequestId"); return(revokeTokenResponse); }
public void ResponseConverterShouldHandleTokenRevokedStatus() { var response = new RevokeTokenResponse(_responses["token-revoked"]); var status = MobileConnectStatus.TokenRevoked(response); var actual = ResponseConverter.Convert(status); Assert.IsNotNull(actual); Assert.AreEqual("success", actual.Status); Assert.AreEqual("token_revoked", actual.Action); }
/// <summary> /// Creates a Status with ResponseType TokenRevoked. /// </summary> /// <param name="response">RevokeTokenResponse returned from <see cref="IAuthenticationService"/></param> /// <param name="caller">Name of calling method</param> /// <returns>MobileConnectStatus with ResponseType TokenRevoked</returns> public static MobileConnectStatus TokenRevoked(RevokeTokenResponse response, [CallerMemberName] string caller = null) { if (response.ErrorResponse != null) { return(Error(response.ErrorResponse)); } Log.Info(() => $"MobileConnectStatus TokenRevoked returned caller={caller}"); return(new MobileConnectStatus { ResponseType = MobileConnectResponseType.TokenRevoked }); }
public async Task <RevokeTokenResponse> RevokeTokenAsync(RevokeTokenRequest request) { EnsureOAuthLoginClientExistence(request); var response = new RevokeTokenResponse().LinkTo(request); var uri = GetOAuthEndpointUri("revocation"); var webClient = new WebClient(); webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); var auth = "Basic " + Base64Encode($"{request.OAuthClient.ClientId}:{request.OAuthClient.ClientSecret}"); webClient.Headers.Add("Authorization", auth); var formData = new NameValueCollection { { "token", request.AccessTokenOrRefreshToken }, { "token_type_hint", request.TokenHint } }; try { await webClient.UploadValuesTaskAsync(uri, "POST", formData); response.WithProcessResult(ProcessResultType.Ok); } catch (HttpException httpException) { response.WithProcessResult(Enumeration.FromValue <ProcessResultType>(httpException.GetHttpCode()), httpException.GetHtmlErrorMessage()); } catch (Exception execption) { response.WithProcessResult(execption); } return(response); }