Использование аутентификации SAML с токеном носителя вместо cookie - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть приложение, которое я написал несколько лет назад, используя ASP.NET WEB API 2 с OWIN, ASP.NET Identity и OAuth с токенами на предъявителя.Мой фронтенд AngularJS.Я следовал этой статье, когда создавал приложение: https://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

Теперь мне нужно внедрить SAML только для целей аутентификации.Я все еще буду использовать ASP.NET Identity для авторизации.Я планирую использовать промежуточное ПО Sustainsys SAML2 OWIN.Я следовал примеру OWIN здесь: https://github.com/Sustainsys/Saml2/tree/master/Samples/SampleOwinApplication

Я получаю ошибку:

Значение по умолчанию для SignInAsAuthenticationType не найдено в свойствах IAppBuilder.Это может произойти, если ваше промежуточное программное обеспечение для аутентификации добавлено в неправильном порядке, или если оно отсутствует.

Как добавить SAML для целей аутентификации, все еще используя ASP.NET Identity для авторизации через токен на предъявителярешение?

Вот код, который у меня есть, который выполняет Аутентификацию на предъявителя.Я добавил метод UseSam2Authentication и прокомментировал строку UseOAuthBearerAuthenticaton.

            var OAuthOptions = new OAuthAuthorizationServerOptions
            {
                TokenEndpointPath = new PathString("/api/token"),
                Provider = new ApplicationOAuthServerProvider(),
                AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60), // TODO: Change this back to 30 minutes!
#if DEBUG
                AllowInsecureHttp = true
#endif
            };

            app.UseOAuthAuthorizationServer(OAuthOptions);
            // app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); 
            app.UseSaml2Authentication(CreateSaml2Options());

...