图书馆整合谷歌';Java Web应用程序中的OAuth/OpenID混合?

图书馆整合谷歌';Java Web应用程序中的OAuth/OpenID混合?,java,openid,oauth,Java,Openid,Oauth,我正在构建一个Java web应用程序,它需要访问用户的Google日历数据——因此我认为OAuth/OpenID混合是最好的方法 处理这项工作并减少代码量的最佳库是什么 我尝试了openid4java和SpringSecurityOpenID(两者都不支持hybrid)以及dyuproject(无法将其集成) 注:GAE不是一个选项 有什么想法吗?它不支持OpenID,但它是一个非常好的OAuth Java库,支持Google。我不知道任何集成库,但我使用OpenID库()、OAuth库([E

我正在构建一个Java web应用程序,它需要访问用户的Google日历数据——因此我认为OAuth/OpenID混合是最好的方法

处理这项工作并减少代码量的最佳库是什么

我尝试了openid4java和SpringSecurityOpenID(两者都不支持hybrid)以及dyuproject(无法将其集成)

注:GAE不是一个选项


有什么想法吗?

它不支持OpenID,但它是一个非常好的OAuth Java库,支持Google。

我不知道任何集成库,但我使用OpenID库()、OAuth库([Edit:or])和我的徒手操作,如下所示:

我的
OAuth使用者密钥
类似于www.example.com,因此我使用http://*.example.com作为
OpenID领域

将用户重定向到Google OpenID端点时,我添加了以下参数(重定向url或表单):

openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0
openid.ext2.consumer=<my oauth consumer key>
openid.ext2.scope=<oauth scope to be authorized>
openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0
openid.ext2.consumer=
openid.ext2.scope=
除了普通OpenID响应,我还收到:

openid.ext2.request_token=<request-token>
openid.ext2.request\u令牌=
我将收到的请求令牌与访问令牌和访问秘密交换,这是进行OAuth授权调用所需的。就这些

注意,在普通OAuth和请求令牌中,您必须使用请求机密和验证器,但在这里您不需要它们

为了有更好的视野,你可以阅读,和


编辑:是openid4java的OAuth扩展,上面为您做了这些。

感谢您的提示-我现在正尝试使用Spring Security OpenID(它本身使用openid4java)并将伟大的东西John写在一起,“注意…”中的最后一行真的救了我一天。我随身携带请求令牌,但不知道如何获取访问令牌!现在我知道了:)所以你不需要任何形式的签名?我正在努力实现这一点,你能看一下吗?