2

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

IsDelegatedIdentifier: bool
IsDirectedIdentity: bool

并从继承的 IHostProcessedRequest 接口:

Immediate: bool

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

4

1 回答 1

2

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

但这是你要求的:

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

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

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

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

于 2010-12-08T18:02:02.190 回答