Exemplo n.º 1
0
        public async Task <User> GetUserAsync(AuthorizationContext authorizationContext)
        {
            if (authorizationContext == null)
            {
                throw new ArgumentNullException(nameof(authorizationContext));
            }

            var code = authorizationContext.GetData("code");

            var token = await _restClient.ExchangeCode(code);

            var userResponse = await _restClient.GetUser(token?.AccessToken);

            return(new User(Name, userResponse.Id)
            {
                Name = userResponse.Username,
                Data = new Dictionary <string, string>()
                {
                    { "avatarUrl", userResponse.GetAvatarUrl() }
                }
            });
        }