我开始使用DotNetOpenAuth,并希望了解IAuthenticationRequest接口的以下成员的用途以及如何使用它们:
IsDelegatedIdentifier: bool
IsDirectedIdentity: bool
从继承的IHostProcessedRequest接口:
Immediate: bool
请有人提供简要说明吗?感谢。
答案 0 :(得分:2)
这些都是直接来自OpenID 2.0 spec的概念,因此您可以在那里找到完整的答案。顺便说一句,DotNetOpenAuth附带了一个.chm doc文件,该文件也记录了这些成员。
但这就是你所要求的:
IsDelegatedIdentifier
一个值,指示用户是否托管自己的OpenID标识符,然后委托给您的提供商。通常不需要做任何特别的事情,因为DotNetOpenAuth会为您处理所有事情。但如果你有一个不允许授权的政策,这将提供方法。
IsDirectedIdentity
一个值,指示用户/ RP是否已经知道他们期望返回的声称标识符。如果false
,他们已经知道并且您(提供者)需要简单地验证登录用户是否控制该标识符;如果true
需要作为提供者来确定登录的用户,并将ClaimedIdentifier属性设置为适合该用户的值。
Immediate
一个值,指示您是否必须立即就批准或拒绝RP请求做出决定。如果true
您不允许与用户互动,则可能无法显示用户界面,您可能只会根据您的决定重定向回RP。如果false
您可以要求用户登录,请他们确认等。当处于即时模式时,如果您无法确定该用户是谁或用户是否信任该RP,您应该始终返回否认回应。
IAnonymousRequest
代替IAuthenticationRequest
,而只是希望响应包含的OpenID请求扩展。换句话说,他们不想知道用户是谁,他们只是想知道关于他们的事情。 OpenID规范中描述了这些类型的请求,但在实践中并不常见,实际上大多数OpenID库甚至都不支持它们。 DotNetOpenAuth可以。