使用 appengine 的 openid

发布于 2024-10-20 23:02:14 字数 430 浏览 7 评论 0原文

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

对于我应该在数据库中存储什么来识别返回用户有一个疑问。 我当前正在存储 user.getNickname() - (对于谷歌和雅虎,这会返回用户的电子邮件地址)。

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

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

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

我应该使用 user.getUserId() 代替吗?

I am currently using federated authentication via openid in appengine - using google, yahoo, myopenid as the providers

Had a question as to what I should be storing in my db to identify returning users.
I am currently storing user.getNickname() - (for google and yahoo this returns the users email address).

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

I use this to store and retrieve user specific data.

Is this the right way to proceed? Is the getNickName() unique? I see that User also has a user.getUserId() method and a user.getEmailId() method.

should I be using user.getUserId() instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如若梦似彩虹 2024-10-27 23:02:14
  1. getNickname() - 不要使用它。

  2. getUserId() - 这是合乎逻辑的,但问题可能是用户忘记了他们在您的网站上使用的身份(我有多个 Google 帐户,还有 yahoo 和 facebook)。这可能会导致为一个人创建多个帐户。但后来,有些人想要这个。此外,即使 Google 用户更改了电子邮件,这一点也保持不变。

  3. 'getEmail()` - 实际上类似于 ID - 唯一标识用户。如果用户使用别名电子邮件登录,则可能与 ID 不同。

无论如何,当用户第一次登录时,您应该向他们显示“帐户详细信息”页面(就像 SO 所做的那样)。此外,您应该让用户能够将身份聚合到一个帐户中。

  1. getNickname() - don't use this.

  2. getUserId() - this is logical, but the problem could be if users forget which identity they used with your site (I have multiple accounts with google, plus yahoo and facebook). This could lead to creating multiple account for one person. But then, some people want this. Also, this remains the same for Google users even if they change their email.

  3. 'getEmail()` - is actually similar to ID - uniquely identifies user. CAN be different then ID if users use alias email to log in.

Anyhow, when users log in for the first time you should present them with Account Details page (like SO does). Also, you should give users ability to aggregate identities into one account.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文