OpenID auth:获取唯一标识符作为密钥使用哪种方法?

时间:2010-08-18 20:09:20

标签: python google-app-engine openid

使用OpenID身份验证,这是正确的User实例方法,以获取用于在Datastore上创建和标识用户的唯一标识符作为key_name?

可用方法:

  

nickname()对于OpenID用户,昵称是OpenID标识符。

     

federated_identity()返回用户的OpenID标识符。

     

federated_provider()返回用户的OpenID提供程序的URL。

在用户登录时,我想通过以下方式检索它:

User.get_by_key_name(key_used_to_create_the_user)

1 个答案:

答案 0 :(得分:2)

您可能希望在系统中生成自己的用户ID,以便用户可以更改其OpenID提供程序(或者甚至有多个OpenID与其帐户关联,许多网站都支持该帐户)。但是如果你因某种原因确实想要将OpenID用作唯一键,我认为federated_identity()就是你想要的那个(只是从阅读文档,我从未使用过这个库)。您需要完整的OpenID URL,保证其唯一性 - 这包括URL的提供者部分和“用户名”部分(可能是“子文件夹”或子域等)。抱歉,我忘记了技术术语......自从我使用OpenID以来已经有一段时间了。