mFe*_*ein 5 java security rest shiro oauth-2.0
我即将开始开发REST服务,安全性是该项目的一个重要方面,但我找不到有关如何实现它的一些确切信息.我的服务最初将由Android应用程序使用,但稍后可能会被其他平台使用.控制用户访问至关重要,因此Authorization与Authentication其余服务的控制是非常重要的.
虽然我可以找到关于如何制作安全REST API的主题,比如这里,这里和这里的重要内容,令我惊讶的是,所有这些都没有指向一个着名的标准或框架或经过时间考验的解决方案,通常是" "保护软件应用程序的方法,我们尽可能避免"推出自己的安全解决方案".
到目前为止,我的研究,我认为OAuth 2.0用户(甚至OAUTH 1.0)是最好的方式,它的广泛应用的协议,并支持公众Authorization和Authentication,我们可以控制键的寿命,甚至有专门的refresh key允许客户机不存储用于获取新密码的密码信息key.
我也认为这Apache Shiro是最好的框架Security,Authorization并且Authentication在java中,所以当我找不到任何集成Shiro和OAUTH 2.0... 时,它会让我感到惊讶.确定有一个5年之久,并没有激发太多的信任对我来说.
更为奇怪的事实是,Apache Shiro PMC主席Les Hazlewood拥有(好吧,拥有,他只是将它卖给了Okta)Stormpath,一家为之Identity而生的公司User Management,所以我希望他提供一些简单的集成OAUTH 2.0和Shiro,除非这会破坏Stormpath商业计划太多我猜(我不相信,因为Apache基金会不会允许这种行为).
所以最后的问题是:
Shiro,OAUTH 2.0或者我必须编写自己的代码吗?OAUTH 2.0解决方案来处理REST APIs访问控制或我错过了什么吗?您绝对不需要自己编写代码。有一些很棒的 java 库和应用程序可用于 oauth2,您可以从用于构建自己的 oauth2 服务器的低级库中进行选择,直至功能齐全的独立 openid 连接服务器。
Spring security 提供了 oauth2,您可以使用它在应用程序中嵌入 oauth2 服务器。教程位于http://www.baeldung.com/rest-api-spring-oauth2-angularjs上找到。
有 mitreid openid connect https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server,它有一个 war 覆盖层,您可以使用它来将用户和客户端管理应用程序添加到您的 web 应用程序中。
Keycloak ( https://www.keycloak.org/ ) 提供功能齐全的独立 openid 连接服务器。
| 归档时间: |
|
| 查看次数: |
5159 次 |
| 最近记录: |