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

时间:2011-09-23 20:18:29

标签: java authentication gwt openid authorization

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

我正在尝试使用gwt-oauth2库,但看起来OAuth的整个想法是提供一个令牌,允许访问不同的私人资源,如邮件,联系人等,但它不定义用户自己。

问题#1 - 谷歌给我的令牌只是定义了“具有访问用户私人数据权限的会话”并且没有定义“唯一用户”吗?

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

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

2 个答案:

答案 0 :(得分:4)

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

2)是的,OpenID可能是您用例的更好选择。如果您没有保存用户的信息,请不要让他们让您访问它。 OpenID 为用户提供唯一ID。

答案 1 :(得分:0)

如果您通过控制对用户可见/启用的内容(授权)以及如何显示内容来进一步搜索。我刚刚为此创建了一个解决方案。我希望你会喜欢:

使用项目UiBinderAutho来捕获小部件创建并使其适应您的需求(连接的配置文件ui,权限,小部件处理程序)。这里有一些解释 http://ziedhamdi.github.io/UiBinderAutho/

这里是github项目 https://github.com/ziedHamdi