我有以下代码
def get(self):
user = users.get_current_user()
if user: # signed in already
self.response.out.write("User Id =" + user.user_id() + " - User federated identity = " + user.federated_identity() + " - User IdentityProvider = "+user.federated_provider() + " - User Email" + user.email() + "USer Nickname = " + user.nickname())
else: # let user choose authenticator
self.response.out.write('Hello world! Sign in at: ')
for name, uri in providers.items():
self.response.out.write('[<a href="%s">%s</a>]' % (
users.create_login_url(federated_identity=uri), name))
我尝试使用 google 和 yahoo 作为开放 ID 提供程序,但是每当我尝试访问用户属性(例如用户联合身份或用户昵称)时,它会输出 URL 而不是昵称,谁能告诉我我做错了什么这里。
这是我看到的输出
User federated identity = https://me.yahoo.com/a/JHqoh95mg8UqmFeDWlzSxKLW_SnNIOTlOcplbGQ
and user.nickname() also outputs this
PS:我已经将我的应用程序配置为使用应用程序仪表板中的开放 ID,并且我的代码正在运行