Запрос объяснения члена DotNetOpenAuth IAuthenticationRequest - PullRequest
2 голосов
/ 07 декабря 2010

Я начинаю использовать DotNetOpenAuth и хочу понять, для чего предназначены следующие члены интерфейса IAuthenticationRequest и как их следует использовать:

IsDelegatedIdentifier: bool
IsDirectedIdentity: bool

И из унаследованного интерфейса IHostProcessedRequest:

Immediate: bool

Пожалуйста, кто-нибудь даст краткое объяснение?Спасибо.

1 Ответ

2 голосов
/ 08 декабря 2010

Это все понятия непосредственно из спецификации OpenID 2.0 , так что вы можете обратиться к ней за полным ответом. И, кстати, есть файл .chm doc, который включен в DotNetOpenAuth, который также документирует этих членов.

Но вот что вы просите:

IsDelegatedIdentifier Значение, указывающее, размещает ли пользователь свой собственный идентификатор OpenID, который затем делегирует вашему провайдеру. Обычно это не то, для чего нужно делать что-то особенное, поскольку DotNetOpenAuth позаботится обо всем за вас. Но в случае, если у вас была политика запрета делегирования, это обеспечит путь.

IsDirectedIdentity Значение, указывающее, знает ли пользователь / RP уже заявленный идентификатор, который он ожидает получить. Если false, они уже знают, и вам (Поставщику) нужно просто проверить, что зарегистрированный пользователь контролирует этот идентификатор; если true, вам нужно в качестве провайдера определить, какой пользователь вошел в систему, и установить для свойства ClaimedIdentifier значение, подходящее для этого пользователя.

Immediate Значение, указывающее, нужно ли вам немедленно принять решение об одобрении или отклонении запроса RP. Если true вам не разрешено взаимодействовать с пользователем, вы можете не отображать пользовательский интерфейс, вы можете только перенаправить обратно на RP с вашим решением. Если false, вы можете попросить пользователя войти в систему, попросить его подтвердить и т. Д. Если в режиме немедленной проверки вы не можете быть уверены, кто пользователь или доверяет ли пользователь RP, вы всегда должны вернуть отказ. ответ.

IAnonymousRequest приходит вместо IAuthenticationRequest, когда RP не вообще хочет запрашиваемый идентификатор, а вместо этого просто хочет получить ответы на расширения запроса OpenID, которые включены. Другими словами, они не хотят знать , кто пользователь, они просто хотят знать что-то о их. Такие запросы описаны в спецификации OpenID, но на практике они встречаются редко, фактически большинство библиотек OpenID даже не поддерживают их. DotNetOpenAuth делает.

...