Следите за последними изменениями .NET Core 2.2 и пытаетесь использовать Razor Pages для входа в учетную запись Google.
Чтобы достичь этого, я следовал этому пошаговому руководству:
Аутентификация Facebook, Google и внешнего провайдера в ASP.NET Core
Итак, я внимательно прочитал и следовал всем шагам и даже следовал инструкциям Google, связаннымсо страницы.
Итак, теперь я вижу экран выбора учетной записи Google, но, похоже, он не может вернуться, когда я выбрал свою учетную запись.
ConfigureServices
public void ConfigureServices(IServiceCollection services) {
services.Configure<CookiePolicyOptions>(options => {
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.ConfigureExternalCookie(o => {
o.Cookie.SameSite = SameSiteMode.None;
});
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>()
.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddAuthentication()
.AddGoogle(o => {
o.AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth";
o.CallbackPath = new PathString("/signin-google");
o.ClaimsIssuer = "google";
o.ClientId = Configuration["Authentication:Google:ClientId"];
o.ClientSecret = Configuration["Authentication:Google:ClientSecret"];
o.SaveTokens = true;
o.Scope.Add("openid");
o.Scope.Add("profile");
o.Scope.Add("email");
o.SignInScheme = IdentityConstants.ExternalScheme;
o.TokenEndpoint = "https://oauth2.googleapis.com/token";
o.UserInformationEndpoint = "https://openidconnect.googleapis.com/v1/userinfo";
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
Настройка
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
...
app.UseAuthentication();
app.UseMvc();
}
_LoginPartial
Мое приложение зарегистрировано в Google через консоль API Google.
Я могу получить следующее:
Икогда я выбираю свою учетную запись, приложение не может войти в систему при обратном вызове.
И да, мой redirect_uri указанПравильно, иначе это не позволило бы мне выбрать свою учетную запись.
И я новичок в OAuth2 и OpenId Connect.