我有一个现成的项目,在其中,当通过 Google 连接身份验证时,连接不起作用。示例中描述的所有标准设置。但是如果我创建一个新项目,那么一切都对我有用。可能是什么问题呢?我可以提供必要的代码
UPD
AccountController.cs
public async Task<IActionResult> SignIn(string provider)
{
return Challenge(new AuthenticationProperties { RedirectUri = "/Register" }, provider);
}
和 Startup.cs
services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.LoginPath = "/signin";
options.LogoutPath = "/signout";
})
.AddGoogle(options =>
{
options.ClientId = "myId";
options.ClientSecret = "MySecret";
});
我发现了一个问题,如果您完成此代码,则不会发生授权
services.AddDbContext<MainContext>(options =>
options.UseSqlServer(_configuration.GetConnectionString("MainConnection")),
ServiceLifetime.Transient);
services.AddIdentity<User, Role>()
.AddEntityFrameworkStores<MainContext>()
.AddDefaultTokenProviders();