【问题标题】:DotNetOpenAuth IAuthenticationRequest member explanation requestDotNetOpenAuth IAuthenticationRequest 会员说明请求
【发布时间】:2010-12-07 15:41:36
【问题描述】:

我开始使用 DotNetOpenAuth 并想了解 IAuthenticationRequest 接口的以下成员的用途以及应如何使用它们:

IsDelegatedIdentifier: bool
IsDirectedIdentity: bool

并从继承的 IHostProcessedRequest 接口:

Immediate: bool

请有人提供一个简短的解释?谢谢。

【问题讨论】:

  • 另外,我的提供者为什么以及何时会收到 IAnonymousRequest 而不是 IAuthenticationRequest?

标签: openid dotnetopenauth openid-provider


【解决方案1】:

这些都是直接来自OpenID 2.0 spec 的概念,因此您可以参考那里的完整答案。顺便说一下,DotNetOpenAuth 中包含一个 .chm doc 文件,该文件也记录了这些成员。

但这是你要的:

IsDelegatedIdentifier 一个值,指示用户是否托管他自己的 OpenID 标识符,然后委托给您的 Provider。通常不需要您做任何特别的事情,因为 DotNetOpenAuth 会为您处理所有事情。但是如果您有禁止委派的政策,这将提供方法。

IsDirectedIdentity 一个值,指示用户/RP 是否已经知道他们期望返回的声明标识符。如果false,他们已经知道并且您(提供者)需要简单地验证登录用户控制该标识符;如果 true 您需要作为 Provider 来确定登录的用户,并将 ClaimedIdentifier 属性设置为适合该用户的值。

Immediate 一个值,指示您是否必须立即做出批准或拒绝 RP 请求的决定。如果true 不允许您与用户交互,您可能不会显示 UI,您只能根据您的决定重定向回 RP。如果false,您可能会要求用户登录,要求他们确认等。在立即模式下,如果您无法确定用户是谁或用户是否信任 RP,则应始终返回拒绝回应。

IAnonymousRequest 代替 IAuthenticationRequest 出现时,RP 根本不想要声明的标识符,而只是想要对包含的 OpenID 请求扩展的响应。换句话说,他们不想知道用户是谁,他们只想知道关于他们的一些事情。这些类型的请求在 OpenID 规范中有所描述,但在实践中并不常见,事实上大多数 OpenID 库甚至都不支持它们。 DotNetOpenAuth 可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2016-11-06
    相关资源
    最近更新 更多