ASP.Net Core SAML аутентификация
Я пытаюсь добавить аутентификацию SAML 2.0 в решение ASP.Net Core. Я не могу найти никакой документации по этому вопросу, поэтому я не уверен, с чего начать. Вероятно, есть документация, но я не хочу тратить 3 дня, чтобы стать экспертом по этому вопросу.
Из того, что я вижу, ASP.Net Core изменил что-то из старых сборок / пространств имен OWIN. Существуют сторонние библиотеки для упрощения реализации SAML 2.0, такие какKentor.AuthServices.
Я не уверен, как совместить это с ASP.Net 5 RC 1 / ASP.Net Core. Например, используя таблицы AspNet * в SQL.
ASP.Net 5 RC 1 поставляется с несколькими библиотеками для реализации аутентификации (клиент).
Например:
Microsoft.AspNet.Authentication.OAuthMicrosoft.AspNet.Authentication.FacebookMicrosoft.AspNet.Authentication.GoogleMicrosoft.AspNet.Authentication.TwitterДля их реализации необходимо вызвать простой метод расширения вStartup.cs
:
app.UseIdentity()
.UseFacebookAuthentication(new FacebookOptions
{
AppId = "ID",
AppSecret = "KEY"
})
.UseGoogleAuthentication(new GoogleOptions
{
ClientId = "ID",
ClientSecret = "SECRET"
})
.UseTwitterAuthentication(new TwitterOptions
{
ConsumerKey = "KEY",
ConsumerSecret = "SECRET"
});
После этого в примере проекта ASP.Net автоматически отображаются социальные кнопки для входа в систему и управления учетной записью:
В бэкэнд-коде провайдеры аутентификации извлекаются с использованиемvar otherLogins = _signInManager.GetExternalAuthenticationSchemes().Where(auth => userLogins.All(ul => auth.AuthenticationScheme != ul.LoginProvider)).ToList();
, Это означает, что провайдеры аутентификации зарегистрированы где-то, что делает их доступными, звоня_signInManager.GetExternalAuthenticationSchemes()
.
Как я могу реализовать аутентификацию SAML 2.0 в ASP.Net 5 RC1 / ASP.Net Core?