Esempio n. 1
0
        /// <inheritdoc/>
        public override async Task <bool> RequestAccessTokenAsync(CancellationToken taskCancellationToken)
        {
            var request = new ImpersonationAccessTokenRequest
            {
                DelegateAccounts = DelegateAccounts,
                Scopes           = Scopes,
                Lifetime         = $"{(int)Lifetime.TotalSeconds}s"
            };

            Token = await request.ExecuteAsync(HttpClient, TokenServerUrl, Clock, Logger, taskCancellationToken)
                    .ConfigureAwait(false);

            return(true);
        }
Esempio n. 2
0
        /// <inheritdoc/>
        public override async Task <bool> RequestAccessTokenAsync(CancellationToken taskCancellationToken)
        {
            var request = new ImpersonationAccessTokenRequest
            {
                DelegateAccounts = Options.DelegateAccounts,
                Scopes           = Options.Scopes,
                Lifetime         = ((int)Options.Lifetime.TotalSeconds).ToString() + "s"
            };
            var body    = NewtonsoftJsonSerializer.Instance.Serialize(request);
            var content = new StringContent(body, Encoding.UTF8, "application/json");

            var response = await HttpClient.PostAsync(TokenServerUrl, content, taskCancellationToken).ConfigureAwait(false);

            var newToken = await TokenResponse.FromHttpResponseAsync(response, Clock, Logger).ConfigureAwait(false);

            Token = newToken;
            return(true);
        }