如何在java restful服务上实现oauth2

时间:2013-05-08 04:54:34

标签: oauth

我需要帮助oauth2.0java restful(jersey),任何帮助都会受到赞赏,我需要找到方法how oauth2 would be implemented。这是场景,我们有一个基于Web的应用程序,现在,有客户参与其中。他们计划拥有API Restful service ),以便在移动设备(android and ios)上使用它。 (他们可以使用手机登录并更新他们的帐户等)。

现在,我的问题是如何使用java集成oauth2以确保其安全性,以及如何创建授权服务器。

3 个答案:

答案 0 :(得分:0)

我曾经有过同样的问题,最终建立了一个开源项目:srb4j,它也基于Jersey和OAuth2。

Srb4j已为您实现了令牌端点和资源端点。您可以将许多代码用于您自己的现有系统。

答案 1 :(得分:0)

#对这个广告感到抱歉,但它可以帮到你......

java-oauth-server 是Java中的新授权服务器实现(JAX-RS,Jersey,Jetty),支持 OAuth 2.0 OpenID Connect

实现是 DB-less ,因为授权数据(例如访问令牌),授权服务器本身的设置和客户端应用程序的设置存储在云上的数据库中。因此,您无需在启动授权服务器之前设置数据库服务器。

只需4个命令即可下载和启动授权服务器。

git clone https://github.com/authlete/java-oauth-server.git
cd java-oauth-server
vi authlete.properties
mvn jetty:run

java-oauth-server的源代码树非常小,定制点被抽象为SPI(服务提供者接口),因此很容易将授权服务器实现合并到现有的Web服务中。

该实现支持RFC 7636(OAuth公共客户端代码交换的证明密钥)。这是针对授权代码拦截攻击的对策的新规范(2015年9月发布)。如果要将Web API公开给移动应用程序,我建议您查找支持RFC 7636的实现。

enter image description here

有关图形数字的RFC 7636的解释是here

答案 2 :(得分:0)

由于作者的缘故,我最终使用了这个库https://github.com/BrightcoveLearning/oauth-client-examples/tree/master/amber-java并且像魅力一样工作。