java - GWT 中使用 Google 帐户进行授权/身份验证

标签 java authentication gwt openid authorization

我正在尝试让我的 GWT 应用程序能够使用用户的 Google 帐户对用户进行身份验证。我基本上需要的只是为每个用户提供唯一的值,并确保这些值始终描述正确的用户。主要要求是,我必须编写的代码行数尽可能少:-)

我正在尝试使用 gwt-oauth2库,但看起来 OAuth 的整个想法是提供一个 token ,允许访问不同的私有(private)资源,如邮件、联系人等,但它不定义用户本身。

问题 #1 - Google 向我提供的 token 是否只定义“有权访问用户私有(private)数据的 session ”,而没有定义“唯一用户”?

问题 #2 - 我是否应该使用 OpenID,因为我 100% 确定我永远不需要访问任何私有(private)数据,而我唯一需要的是拥有用户的唯一描述符?

对于那些认为它与 Easiest way to enable Google authentication for GWT application? (non-GAE-hosted) 重复的人。这个问题不是关于用于尽快解决问题的库,这个问题是关于理解“身份验证是否是授权的子集”。对于我的案例,问题是 OAuth 与 OpenID。

最佳答案

1) OAuth 的要点是允许网站所有者访问用户允许的某些信息。您不会获得“唯一用户”,但是您可以请求他们的电子邮件地址和/或姓名并将其存储,然后在他们通过 OAuth 重新登录时检索它。

2) 是的,OpenID 对于您的用例来说可能是更好的选择。如果您不保存用户的信息,请不要费心要求他们允许您访问该信息。 OpenID 确实为用户提供唯一的 ID。

关于java - GWT 中使用 Google 帐户进行授权/身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7534374/

相关文章:

java - JFrame 中不需要的 JPanel 边框

java - 为什么 (a*b != 0) 在 Java 中比 (a != 0 && b != 0) 快?

java - 如何解决此 UnsatisfiedLinkError?

asp.net-mvc - 对同一主机名但不同路径上的多个应用程序的用户进行身份验证

java - Servlet 安全认证

java - 更改并忘记应用程序的密码请勿重复使用相同的代码

java - 来自服务实现的 Google Web Toolkit 异步调用

java - addPackage 方法的 Hibernate NoSuchMethodError

gwt - 是否可以在 UIBinder XML 布局中使用参数化的 GWT 消息?

java - GWT 复选框单元格 : how to add a change handler?