В ответ на отключение Google+ я меняю решение .NET Core 1.x для использования аутентификации через Google Sign-in.
Microsoft не выпустит патч для .NET Core 1.xно миграция для Microsoft.Owin может быть адаптирована для ASP.NET Core 1.x.Итак, я сослался на Microsoft.AspNetCore.Owin
и Microsoft.Owin.Security.Google
.
В моем (ASP.NET Core) Startup.cs у меня есть это:
app.UseOwin(setup => setup(next =>
{
var builder = new AppBuilder();
var aspNetCoreLifetime = (IApplicationLifetime)app.ApplicationServices.GetService(typeof(IApplicationLifetime));
var owinAppProperties = new AppProperties(builder.Properties)
{
OnAppDisposing = aspNetCoreLifetime?.ApplicationStopping ?? CancellationToken.None,
DefaultApp = next
};
builder.Properties.Add("host.AppName", app.ApplicationServices.GetApplicationUniqueIdentifier());
builder.SetDefaultSignInAsAuthenticationType("Google");
void Conf(IAppBuilder appBuilder) => appBuilder.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions
{
ClientId = "your_key",
ClientSecret = "your_secret"
});
Conf(builder);
return builder.Build<Func<IDictionary<string, object>, Task>>();
}));
Однако вво время выполнения я получаю следующую ошибку:
InvalidOperationException: не настроен обработчик аутентификации для обработки схемы: Google
Я считаю, что настройка схемы GoogleОбходит ASP.NET Identity, так как я использую OWIN AppBuilder
для его настройки, и эти два сосуществуют параллельно и не совместимы.
Есть ли что-то, чего мне не хватает?