Как получить претензии от Google.Apis TokenResponse .Net Core - PullRequest
0 голосов
/ 21 сентября 2018

Итак, я следовал этому учебному пособию, и мой внешний SPA получал только код авторизации.
Затем я отправляю этот код в свое внутреннее действие API.

public async Task<IActionResult> GoogleSignIn(GoogleSignInputModel model)
        {
            using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
            {
                var clientSecrets = GoogleClientSecrets.Load(stream).Secrets;
                var initializer = new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = clientSecrets, Scopes = new []{"profile", "email"} };
                var googleAuthorizationCodeFlow = new GoogleAuthorizationCodeFlow(initializer);
                var token = await googleAuthorizationCodeFlow.ExchangeCodeForTokenAsync("user", model.Code,
                    "https://localhost:44389", CancellationToken.None);
            }
            // Get claims from token

            return Ok("Success");
        }

Я получаю токен типа Google.Apis.Auth.OAuth2.Responses.TokenResponse, где я могу получить token.IdToken - токен JWT от Google.

Вопрос
Как получить по электронной почте и основные требования из этого токена, чтобы яможно зарегистрировать или получить пользователя в моем поставщике членства?

...