Django 谷歌如何生成OpenID代币?
我正在使用Django 谷歌如何生成OpenID代币?,django,openid,django-openid-auth,Django,Openid,Django Openid Auth,我正在使用django\u openid\u auth模块,并将其配置为自动为新的openid创建新的用户帐户。这使得“注册”过程非常简单,但我有点担心,由于谷歌生成OpenID令牌的方式,它可能会意外地为现有用户创建一个新帐户,给他们留下原始帐户中的数据丢失的印象 据我所知,谷歌将为不同的域名生成不同的ID代币。也就是说,www.site.com和site.com将在我的系统中创建两个不同的令牌和两个帐户。我通过将www.site.com重定向到site.com解决了这个问题 还有什么我需要注
django\u openid\u auth
模块,并将其配置为自动为新的openid创建新的用户帐户。这使得“注册”过程非常简单,但我有点担心,由于谷歌生成OpenID令牌的方式,它可能会意外地为现有用户创建一个新帐户,给他们留下原始帐户中的数据丢失的印象
据我所知,谷歌将为不同的域名生成不同的ID代币。也就是说,www.site.com和site.com将在我的系统中创建两个不同的令牌和两个帐户。我通过将www.site.com重定向到site.com解决了这个问题
还有什么我需要注意的问题吗?还有谁能告诉我一些谷歌用来生成ID的细节吗?StackOverflow在不同的散列OpenID令牌上也有同样的问题。他们详细说明了存在的问题和可能的解决方案(谷歌档案) :
openid.realm
已验证的领域。标识要求最终用户信任的域。(示例:“http://*.myexamplesite.com”)此值必须与openid.return\u to中定义的域一致。如果未定义此参数,Google将使用openid中引用的URL。返回到
realm的值在Google联合登录页面上用于向用户标识请求站点。它还用于确定Google返回的持久用户ID的值。因此,通过URL,我假设它包括路径,而不仅仅是域?这可以解释它,因为返回可能是一个深入站点的链接…如果我现在添加领域,它会弄乱Google生成的现有ID吗?好的,通过django_openid_身份验证代码,我可以看到它确实正确设置了openid.realm,到站点/域的根url。您应该阅读适用于
OpenID.realm
的OpenID规范部分,以了解此字段的确切细节:配置文件要求用户先发制人地解决他们不知道的问题,因此我认为这没有帮助。