Это все понятия непосредственно из спецификации 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 делает.