В моем проекте 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"];
});
Авторизация:
Идем на фронт:
![введите сюда описание изображения](https://i.stack.imgur.com/HIp0F.png)
И нажмите войти с помощью google
Этот метод в контроллере:
[Authorize]
[HttpGet("api/Account/SignInGoogle")]
public async Task<IActionResult> _signInGoogle()
{
return Redirect($"http://localhost:4200?userName={User.Identity.IsAuthenticated}");
}
В результатеЯ вижу и регистрируюсь:
![введите сюда описание изображения](https://i.stack.imgur.com/1wTWs.png)
Метод обратного вызова:
![введите сюда описание изображения](https://i.stack.imgur.com/mnPDi.png)
в контроллере:
[HttpGet("signin-google")]
public async Task<IActionResult> signInGoogle()
{
return Ok();
}
и, наконец, авторизация завершена, и перенаправляет меня на ссылку http://localhost:4200?userName=true
![введите сюда описание изображения](https://i.stack.imgur.com/HOTJ4.png)
А теперь 2 вопроса:
1) Это все, так как не логично попасть туда, где я заблудился ???Т.е. мне будет полезна любая информация о том, как сделать аутентификацию в api с участием внешнего сервиса;2) Как я могу записать этого пользователя в базу данных после всех манипуляций ??