Как лучше сделать google auth

147
19 ноября 2019, 06:00

В проекте 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}");
    }

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

после идет callback:

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

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

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

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

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

READ ALSO
Как упаковать шары в сфере?

Как упаковать шары в сфере?

Есть алгоритм для построения шаров по поверхности сферы

136
RichTextBox как пользоваться

RichTextBox как пользоваться

Подскажите пожалуйста, как пользоваться RichTextBox? Как вставлять текст и менять его внешний вид(цвет или задний фон отдельных слов и тп

122
Сделать традиционный выделенный маршрут в asp.net core

Сделать традиционный выделенный маршрут в asp.net core

Все облазил, не могу сообразить, как сделать следующее: 1Если человек в адресной строке пишет: mysite

131
Взаимодействие между формами

Взаимодействие между формами

есть главная форма, из нее открываются все остальныеодна из них должна задавать например цвет всем другим формам

119