2013-06-20 5 views
0

У меня есть приложение, которое проходит аутентификацию против ADFS 2 через WS-Federation. Я ищу конкретное требование, когда я получаю ответ от ADFS и на основании этого утверждения, я могу разрешить пользователю в свое приложение. Я хочу создать расширение, в котором, когда пользователь будет аутентифицироваться против ADFS и вернется к моему приложению БЕЗ требуемой претензии, я перенаправляю их обратно поставщику удостоверений (ADFS), но на этот раз FORCING их снова предоставить свои учетные данные. Я написал свой код для обнаружения аутентифицированного пользователя, которому не хватает требуемого требования, и отправляет его обратно для повторной проверки подлинности, на этот раз отправляя по параметру «Свежесть» (wfresh = 0). У меня создалось впечатление, что это побудит пользователя к учетным данным, но, похоже, просто повторно использует оригинальные учетные данные, которые, конечно же, приводят к циклу ввода (что ADFS останавливается). Как я могу это достичь?wfresh не работает с WS-федерацией через ADFS

Мой URL выглядит следующим образом, когда я отправить их обратно в IdP после не имея необходимого претензии:

https://somedomain.com/adfs/ls/auth/integrated/?wa=wsignin1.0&wtrealm=https%3a%2f%2fanotherdomain.com%2flogin.ashx&wreply=https%3a%2f%2fanotherdomain%2flogin.ashx&wctx=1106273&wfresh=0 

ответ

3

wfresh on интегрированный не имеет смысла. Вы всегда подписываетесь в AD и не можете подписывать. История, вероятно, отличается для проверки подлинности на основе форм. Но не пробовал это в ADFS.

+0

Значит, вы не знаете, как заставить подсказки для учетных данных? Это забавно, потому что, если я войду в свою машину с помощью учетной записи домена, и я попал на сайт, меня не просят учетные данные, и я просто подписался прямо, но если я зарегистрирован как локальный пользователь (мне всегда подсказывают в первый раз, затем он кэширует его, пока я не закрою браузер) –

+0

Возможно, вы можете использовать wauth для отображения формы входа. Но с точки зрения AD пользователи домена всегда подписываются. В этом весь смысл. – leastprivilege

+0

Спасибо. Я закончил тем, что передал «urn: oasis: names: tc: SAML: 2.0: ac: classes: Password» в качестве AuthenticationType для моего SignInRequestMessage и был представлен форма входа в систему. Это то, что вы предлагали? Кажется, что это работает, но я не уверен на 100%, если это правильный URI. –

0

Я подозреваю, что по умолчанию для wfresh равен нулю.

Вы пробовали это без wfresh?

Кроме того, вы можете выйти из системы - AD FS: How to Invoke a WS-Federation Sign-Out.

+0

Аналогичные проблемы и попытка заставить службу игнорировать или не добавлять параметр wfresh - есть ли у вас способ для этого? Я не могу найти ничего, что сработает. –