Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        /// <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
            });
        }
Ejemplo n.º 5
0
        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);
        }