Пример #1
0
        public async Task OnExecuting(HttpPiplineRequest context)
        {
            await semaphoreSlim.WaitAsync();

            try
            {
                if (string.IsNullOrEmpty(ClientId) ||
                    string.IsNullOrEmpty(Secret) ||
                    Token == null ||
                    Token.Expires == null)
                {
                    return;
                }

                if (Token.Expires.Value <= DateTime.Now)
                {
                    if (string.IsNullOrEmpty(Token.RefreshToken))
                    {
                        Token = await AuthenticationExtensions.AuthAsync(context.Executor.GetEndpoint("auth"), ClientId, Secret);
                    }
                    else
                    {
                        Token = await AuthenticationExtensions.AuthAsync(context.Executor.GetEndpoint("auth"), ClientId, Secret, Token.RefreshToken);
                    }
                }

                context.Request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Token?.AccessToken ?? string.Empty);
            }
            finally
            {
                semaphoreSlim.Release();
            }
        }
Пример #2
0
 public async Task OnExecuting(HttpPiplineRequest context)
 {
     Assert.NotNull(context);
     Assert.NotNull(context.Command);
     Assert.NotNull(context.Executor);
     Assert.NotNull(context.Parameters);
     Assert.NotNull(context.Request);
     Executing = true;
 }