DotNetOpenAuth OP用于身份验证的自定义

时间:2010-12-14 15:13:46

标签: openid customization dotnetopenauth

我正在使用DotNetOpenAuth编写自己的OpenId提供程序。此提供商仅供我自己网站的信赖方使用。换句话说,它是一个封闭的提供者。因此,我想自定义OP,以便它仅在某些情况下进行身份验证,如下所示。

当站点/依赖方#1进行身份验证时,用户只需传递身份验证质询。

当站点/依赖方#2进行身份验证时,用户必须通过身份验证质询,但也必须已经存在OP检索到的其他一些数据。

RP可以告诉OP有关要求。我该如何实现呢?

我应该使用某种自定义PAPE(我该怎么做?)或者可能通过Attribute Exchange(我该怎么做?)或其他方式(我该怎么做?)

1 个答案:

答案 0 :(得分:0)

RP可以向OP询问有关通过AX验证用户的其他信息。这可能是最简单,最合适的方式。 DotNetOpenAuth中使用AX的相关类是FetchRequestFetchResponse

您可以通过检查OP上的IHostProcessedRequest.Realm属性,并通过选中IHostProcessedRequest.IsReturnUrlDiscoverable()方法返回RelyingPartyDiscoveryResult.Success来添加额外保证,从而使您的OP仅响应来自白名单RP的身份验证请求