java-使用appengine的openid

我目前正在通过appengine中的openid使用联合身份验证-使用google,yahoo,myopenid作为提供者

关于我应该在数据库中存储什么以标识回访用户的问题.
我目前正在存储user.getNickname()-(对于google和yahoo,这将返回用户的电子邮件地址).

User user = userService.getCurrentUser();
String username = user.getNickname();

我用它来存储和检索用户特定的数据.

这是正确的进行方式吗? getNickName()是否唯一?我看到User也有一个user.getUserId()方法和一个user.getEmailId()方法.

我应该改用user.getUserId()吗?

解决方法:

> getNickname()-不要使用它.
> getUserId()-这是合乎逻辑的,但是问题可能是如果用户忘记了他们在您的网站上使用的身份(我在google上有多个帐户,还有yahoo和facebook).这可能会导致为一个人创建多个帐户.但是然后,有些人想要这个.此外,即使Google用户更改了电子邮件,也是如此.
>’getEmail()`-实际上类似于ID-唯一标识用户.如果用户使用别名电子邮件登录,则ID可以不同于ID.

无论如何,当用户首次登录时,您应该向他们显示“帐户详细信息”页面(就像这样).另外,您应该使用户能够将身份聚合到一个帐户中.

上一篇:微信小程序(第一天)


下一篇:php-如何将简单的openid与站点的现有日志记录系统集成?