Интеграция существующего поставщика аутентификации файлов cookie с identityserver3.

Вот моя проблема:

У меня есть существующий поставщик аутентификации (я контролирую исходный код), который использует файлы cookie OWIN для аутентификации. Процесс входа в систему состоит из множества шагов с пользовательскими экранами. Теперь я хочу интегрировать этого провайдера с identityserver3.

Вот мои идеи:

О: Реализуйте фиктивный сервис просмотра для identityserver3, который выполняет метаперенаправление на страницу входа в систему моего существующего провайдера. Плохая часть — это когда мне нужно завершить процесс входа в систему, потому что единственный способ, который я вижу, — это самостоятельно опубликовать форму на identityserver3 с именем пользователя и паролем.

B: Я могу иметь identityserver3 в своем проекте провайдера и отображать экран входа в систему моего провайдера (в исходниках для MVC есть очень хакерский пример), но опять же, как и в пункте A, в конце я должен каким-то образом опубликовать имя пользователя и пароль обратно к identityserver3

C: используйте внешних провайдеров в identityserver3. Для этого мне нужно автоматически перенаправить на моего провайдера и зарегистрировать пользовательское промежуточное ПО для аутентификации. Поскольку наш провайдер является стандартным поставщиком cookie-файлов OWIN, я подумал, что могу использовать Katana's CookieAuthenticationMiddleware, но, похоже, это не работает.

Каков правильный способ добиться того, чего я хочу (интегрировать моего поставщика файлов cookie с identityserver3)???


person Ross    schedule 13.06.2016    source источник


Ответы (1)


Вариант D: Используйте методы расширения среды OWIN, чтобы сообщить IdSvr, кто ваш пользователь: https://identityserver.github.io/Documentation/docsv2/advanced/owin.html. Тем не менее, IdSvr по-прежнему будет выдавать свой собственный файл cookie. Возможно, имеет смысл отказаться от собственного промежуточного программного обеспечения для файлов cookie и позволить IdSvr управлять файлами cookie.

person Brock Allen    schedule 13.06.2016
comment
Спасибо - сработало! Я использовал расширения для получения частичного URL-адреса перенаправления и обновления файла cookie частичного входа в сочетании с расширением UserServiceBase и инициированием частичного входа. - person Ross; 21.06.2016