Как сделать правильную авторизацию через гугл в моем api - PullRequest
0 голосов
/ 11 марта 2019

В моем проекте API использовать google auth:

Startup.cs:

services.AddAuthentication(
                v =>
                {
                    v.DefaultAuthenticateScheme = GoogleDefaults.AuthenticationScheme;
                    v.DefaultChallengeScheme = GoogleDefaults.AuthenticationScheme;
                }).AddGoogle(googleOptions =>
                {
                    googleOptions.ClientId = Configuration["Authentication:Google:ClientId"];
                    googleOptions.ClientSecret = Configuration["Authentication:Google:ClientSecret"];
                });

Авторизация:

Идем на фронт:

введите сюда описание изображения

И нажмите войти с помощью google

Этот метод в контроллере:

    [Authorize]
    [HttpGet("api/Account/SignInGoogle")]
    public async Task<IActionResult> _signInGoogle()
    {
        return Redirect($"http://localhost:4200?userName={User.Identity.IsAuthenticated}");
    }

В результатеЯ вижу и регистрируюсь:

введите сюда описание изображения

Метод обратного вызова:

введите сюда описание изображения

в контроллере:

    [HttpGet("signin-google")]
    public async Task<IActionResult> signInGoogle()
    {
        return Ok();
    }

и, наконец, авторизация завершена, и перенаправляет меня на ссылку http://localhost:4200?userName=true

введите сюда описание изображения

А теперь 2 вопроса:

1) Это все, так как не логично попасть туда, где я заблудился ???Т.е. мне будет полезна любая информация о том, как сделать аутентификацию в api с участием внешнего сервиса;2) Как я могу записать этого пользователя в базу данных после всех манипуляций ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...