Я хочу реализовать аутентификацию google для нашего API ядра .net. Внешний интерфейс встроен в реагирует, поэтому они будут вызывать функцию из API и аутентифицироваться в Google с этой конечной точкой.
Я добавил аутентификацию Google в сервисы.
У меня есть цель активировать аутентификацию Google, которую вы можете увидеть из кода ниже. С помощью этого действия я могу показать, как провайдер входа в систему Google, я вошел в систему через Google, но не могу справиться с остальными. Каков поток, как я могу обработать вход в Google. Но это не веб-приложение, это API, так что мне нужно обрабатывать все в API.
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddGoogle(options => {
IConfigurationSection googleAuthNSection = Configuration.GetSection("Authentication:Google");
options.ClientId = googleAuthNSection["ClientId"];
options.ClientSecret = googleAuthNSection["ClientSecret"];
options.CallbackPath = new PathString("/signin-google");
options.SignInScheme = "MainCookie";});
}
[HttpGet]
[AllowAnonymous]
[Route("google")]
public IActionResult SignInWithGoogle()
{
var authenticationProperties = new Microsoft.AspNetCore.Authentication.AuthenticationProperties
{
RedirectUri = Url.Action("Index", "Home")
};
return Challenge(authenticationProperties, "Google");
}