예제 #1
0
        public async Task Authorization()
        {
            try
            {
                var client   = _factory.Create(AuthorizationType.ClientCredentialAuthentication);
                var response = await client.GetClientCredentialAccessToken();

                var @event = new ClientCredentialAuthorizationSuccessEvent
                {
                    AccessToken  = response.AccessToken,
                    RefreshToken = response.RefreshToken,
                    Type         = response.Type,
                    ExpiresIn    = response.ExpiresIn
                };

                await _eventBus.Publish(@event, CancellationToken.None);
            }
            catch
            {
                throw new InvalidAuthenticationExcption("无效客户端信息");
            }
        }
예제 #2
0
 public Task Handle(ClientCredentialAuthorizationSuccessEvent @event, CancellationToken token)
 {
     _token = new JWT(@event.Type, @event.AccessToken, @event.RefreshToken, @event.ExpiresIn);
     return(Task.CompletedTask);
 }