我需要帮助oauth2.0
和java
安宁(球衣),任何帮助将不胜感激,我需要找到方法how oauth2 would be implemented
。这是场景,我们有一个基于 Web 的应用程序,现在有客户参与其中。他们计划拥有一个API
(Restful 服务),以便在移动设备上使用它(android and ios
)。(他们可以使用手机登录并更新他们的帐户等)。
现在,我的问题是如何使用 java 集成 oauth2 以确保其安全性,以及如何创建授权服务器。
我需要帮助oauth2.0
和java
安宁(球衣),任何帮助将不胜感激,我需要找到方法how oauth2 would be implemented
。这是场景,我们有一个基于 Web 的应用程序,现在有客户参与其中。他们计划拥有一个API
(Restful 服务),以便在移动设备上使用它(android and ios
)。(他们可以使用手机登录并更新他们的帐户等)。
现在,我的问题是如何使用 java 集成 oauth2 以确保其安全性,以及如何创建授权服务器。
我曾经有同样的问题,最终构建了一个开源项目:srb4j,它也是基于 Jersey 和 OAuth2 的。
Srb4j 已经为您实现了令牌端点和资源端点。您可以将其大量代码应用到您自己现有的系统中。
# 抱歉这个广告,但它可能对你有帮助...
java-oauth-server是 Java(JAX-RS、Jersey、Jetty)中一个新的授权服务器实现,它支持OAuth 2.0和OpenID Connect。
该实现是无 DB 的,因为授权数据(例如访问令牌)、授权服务器本身的设置和客户端应用程序的设置都存储在云上的数据库中。因此,您不必在启动授权服务器之前设置数据库服务器。
只需 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 的实现。
关于 RFC 7636 的图解说明在这里。
感谢作者,我最终使用了这个库https://github.com/BrightcoveLearning/oauth-client-examples/tree/master/amber-java并且像一个魅力一样工作。