我正在尝试让我的 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/