Asp.NET MVC 5 IdentityServer4 Внешний поставщик
В IdentityServer3 один из способов настройки внешнего поставщика аутентификации был добавлен в метод запуска приложения.
internal class Startup
{
public void Configuration(IAppBuilder app)
{
var microsoft = new MicrosoftAccountAuthenticationOptions()
{
AuthenticationType = "Microsoft",
ClientId = "********",
ClientSecret = "********"
};
app.UseMicrosoftAccountAuthentication(microsoft);
....
}
}
В IdentityServer4 все разработано на основе интерфейса IApplicationBuilder, который не имеет методов, описанных выше.
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
....
}
Означает ли это, что в V4 внешние провайдеры аутентификации еще не поддерживаются?
Я безуспешно пытался ввести IAppBuilder в метод Configure, но это было бы довольно грязное решение...
Какие-нибудь мысли? Спасибо
1 ответ
Спасибо всем,
Я думаю, что я сделал несколько значительных успехов. Проблема заключалась в том, что я пытался добавить старые ссылки OWIN к своему решению вместо того, чтобы принять новую Аутентификацию AspNet.
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-rc1-final"
Я нашел решение здесь.
Событие с IApplicationBuilder можно зарегистрировать внешних провайдеров, как описано ниже
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
...
app.UseMicrosoftAccountAuthentication(options =>
{
options.ClientId = Configuration["AppSettings:AzureClientId"];
options.ClientSecret = Configuration["AppSettings:AzureClientSecret"];
options.AuthenticationScheme = "Microsoft";
options.SignInScheme = "Cookies";
options.CallbackPath = new PathString("/signin-microsoft");
options.AuthorizationEndpoint = MicrosoftAccountDefaults.AuthorizationEndpoint;
options.TokenEndpoint = MicrosoftAccountDefaults.TokenEndpoint;
});
}