从联合登录获取用户名

时间:2013-01-31 21:08:45

标签: python google-app-engine openid

我正在使用Google App Engine上的联合登录来让用户登录。

使用有关联合登录的信息;  https://developers.google.com/appengine/articles/openid

和用户对象的引用; https://developers.google.com/appengine/docs/python/users/

我可以让用户登录并验证它们。我可以得到他们的电子邮件地址和昵称。

唯一的问题是我不知道如何获得他们的真实姓名。 当我使用此服务登录时,会提供用户名,stackoverflow会从openid登录中获取用户名(至少使用Google和Yahoo)。

1 个答案:

答案 0 :(得分:0)

它应该依赖于OpenID提供程序,以及它们作为OpenID标识符返回的内容。你在使用什么OpenID提供商?

In regards to User.nickname():

  

返回用户的“昵称”,一个可显示的名称。 对于Google帐户用户,如果地址与应用程序位于同一域中,则昵称是用户电子邮件地址的“名称”部分,否则为用户的完整电子邮件地址。 对于OpenID用户,昵称是OpenID标识符

所以默认情况下,它只是它们的OpenID标识符。您是否可以检索他们与OpenID提供商的用户名(如果它不是标识符)可能只取决于提供商。