我想对.net核心api实施google身份验证。前端内置在react中,因此他们将从api调用函数并通过该端点向Google进行身份验证。 我已将google身份验证添加到服务中。 我有一个触发Google身份验证的方法,您可以从下面的代码中看到。通过此操作,我可以显示google登录提供程序,我通过google登录,但我无法处理其余的操作。流程是什么,我该如何处理Google登录。但这不是Web应用程序,而是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");
}