我目前正在从Janrain engange(rpxnow)切换到dotnetopenauth.在我的数据库中,我将来自我的用户的claimdentifieres存储在表单中
https://www.google.com/accounts/o8/id?id=AItOawnVaDz_Os6ysv4-tB0zlhFan1ltyHWa10k
Run Code Online (Sandbox Code Playgroud)
当使用engange时,我能够在dev,test和prod环境之间切换,声称的ID总是保持不变.所以我觉得使用dotnetopenauth时这些ID也是一样的.令我惊讶的是,它们很熟悉但并不完全相同.更令人困惑的是,当我改变我的webapp的路径时,例如从http:// localhost /到http:// localhost/mvc,声明的标识符也会改变.
有人可以对此有所了解,并帮助我让我的ids从环境移动到另一个环境
顺便说一句:移动其他帐户类型,如雅虎已经没有问题
Google利用称为"定向身份"的OpenID功能,这意味着它发送RP的声明标识符对于为每个唯一RP登录的同一Google帐户将会有所不同.雅虎和其他提供商不利用此功能,因此您只能在Google帐户中看到它.
Google用来区分每个RP的关键是IAuthenticationRequest.Realm属性,默认情况下DotNetOpenAuth设置为您网站的根URL.这就是为什么不同的托管URL(例如http:// localhost或http:// localhost/mvc)会获得不同的声明标识符.
Janrain Engage有各种服务级别,其中一些(我最后检查过)使用自己的域名,将您的RP名称作为第三级域名包含在Realm中,这可能使得很难或不可能停止使用他们的服务因为声明的标识符会全部更改,导致您的所有Google客户无法访问您网站上的帐户.然而,最后我听说,Janrain存储了一些特殊的帐户详细信息,以便可以迁移他们的服务.我建议你联系他们的支持人员,询问他们的流程是什么.
| 归档时间: |
|
| 查看次数: |
702 次 |
| 最近记录: |