Пример #1
0
        public static AuthTokenResult ToAuthTokenResult(this AuthTokenRequest.Result data)
        {
            var res = new AuthTokenResult
            {
                IsSuccess    = true,
                Token        = data.body.token,
                ExpiresIn    = TimeSpan.FromMinutes(58),
                RefreshToken = string.Empty
            };

            return(res);
        }
Пример #2
0
        public static AuthTokenResult ToAuthTokenResult(this OAuthRefreshRequest.Result data, string refreshToken)
        {
            if (data.error_code > 0)
            {
                throw new Exception($"OAuth: Error Code={data.error_code}, Value={data.error}, Description={data.error_description}");
            }

            var res = new AuthTokenResult
            {
                IsSuccess    = true,
                Token        = data.access_token,
                ExpiresIn    = TimeSpan.FromSeconds(data.expires_in),
                RefreshToken = refreshToken
            };

            return(res);
        }
Пример #3
0
        public static AuthTokenResult ToAuthTokenResult(this OAuthRequest.Result data)
        {
            if (data.error_code > 0 && data.error_code != 15)
            {
                throw new AuthenticationException($"OAuth: Error Code={data.error_code}, Value={data.error}, Description={data.error_description}");
            }

            var res = new AuthTokenResult
            {
                IsSuccess            = true,
                Token                = data.access_token,
                ExpiresIn            = TimeSpan.FromSeconds(data.expires_in),
                RefreshToken         = data.refresh_token,
                IsSecondStepRequired = data.error_code == 15,
                TsaToken             = data.tsa_token
            };

            return(res);
        }
        internal static AuthTokenResult ToAuthTokenResult(this OAuthRequest.Result data)
        {
            if (data.ErrorCode > 0 && data.ErrorCode != 15)
            {
                throw new AuthenticationException($"OAuth: Error Code={data.ErrorCode}, Value={data.Error}, Description={data.ErrorDescription}");
            }

            var res = new AuthTokenResult
            {
                IsSuccess            = true,
                Token                = data.AccessToken,
                ExpiresIn            = TimeSpan.FromSeconds(data.ExpiresIn),
                RefreshToken         = data.RefreshToken,
                IsSecondStepRequired = data.ErrorCode == 15,
                TsaToken             = data.TsaToken
            };

            return(res);
        }
Пример #5
0
        private async Task <AuthTokenResult> Request <TBody>(string endpoint, TBody body)
        {
            var content  = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json");
            var response = await new HttpClient().PostAsync($"{configuration.AuthServerApiBase}/{endpoint}", content);
            var message  = await response.Content.ReadAsStringAsync();

            AuthTokenResult result;

            try
            {
                result = JsonConvert.DeserializeObject <AuthTokenResult>(message);
            }
            catch (Exception e)
            {
                result = new AuthTokenResult {
                    Error = e.Message
                };
            }

            return(result);
        }
Пример #6
0
        public AuthModule(
            Auth0Authenticator auth0Authenticator
            ) : base("/auth")
        {
            Post(
                path: "/token",
                action: async(_, c) =>
            {
                System.Security.Claims.ClaimsPrincipal user = Context.CurrentUser;

                if (user == null)
                {
                    return(HttpStatusCode.Forbidden);
                }

                if (!user.Identity.IsAuthenticated)
                {
                    return(HttpStatusCode.Unauthorized);
                }

                AuthTokenResult tokenResult = await auth0Authenticator.GetApiAccessTokenFor(
                    user.Claims.Single(x => x.Type == BasicAuthUserValidator.clientIdClaimName).Value,
                    user.Claims.Single(x => x.Type == BasicAuthUserValidator.clientSecretClaimName).Value
                    );

                if (!tokenResult.IsSuccessful)
                {
                    return(HttpStatusCode.Unauthorized);
                }

                return(Response.AsJson(new {
                    token = tokenResult.Token,
                    asOf = tokenResult.AsOf.ToString(),
                    expiresInSeconds = (int)tokenResult.ExpiresIn.TotalSeconds,
                }));
            },
                condition: null,
                name: null
                );
        }
        private async Task <PushResultMessage> Push(string requestUri, CommonMessage commonMessage)
        {
            AuthTokenResult authTokenResult = await _authTokenService.GetAuthToken();

            if (authTokenResult == null)
            {
                return new PushResultMessage()
                       {
                           ClientHttpStatusCode = HttpStatusCode.BadRequest, Msg = "auth token is null", Code = 1
                       }
            }
            ;

            _client.SetAuthToken(authTokenResult.Data.AuthToken);
            HttpResponseMessage httpResponseMessage =
                await _client.PostAsync(requestUri, new JsonContent(commonMessage));

            PushResultMessage pushResultMessage = await httpResponseMessage.GetResultAsync <PushResultMessage>();

            _logger.LogInformation($"push result: {pushResultMessage}");
            return(pushResultMessage);
        }
Пример #8
0
 public AuthTokenResultWrapper(AuthTokenResult authTokenResult)
 {
     _authTokenResult = authTokenResult ?? throw new ArgumentNullException(nameof(authTokenResult));
 }
Пример #9
0
        public static string ToToken(this AuthTokenResult data)
        {
            var res = data.body.token;

            return(res);
        }