【发布时间】:2018-07-21 16:47:00
【问题描述】:
我使用 Oauth2 框架进行授权和访问控制,以保护我的 Spring Boot 微服务 API。 Oauth2 框架运行良好,但现在我的客户需要一个专用的 OpenId 提供程序,用于在 Oauth2 框架之上进行身份验证。我在 Google 上进行了一轮搜索,但找不到太多资源来为 Oauth2 实施 Own OpenId Provider。我浏览了很多博客,可以理解当我们想委托 Oauth2 的身份验证时,基本上使用 OpenId。 OpenId 是在 Oauth2 之上创建的,但找不到太多资源来激活或实现它。
谁能帮我解决这个问题
我使用 Oauth2 和 Spring Framework 完成的完整源代码如下所示
【问题讨论】:
-
我假设(因为对正确命名存在一些混淆)您的意思是
OpenID Connectopenid.net/connect。抱歉,我手头没有解决方案。看看 Spring Security v5 项目的发展方向:spring.io/blog/2017/05/11/spring-security-5-0-0-m1 - 他们计划在connect2id.com/products/nimbus-oauth-openid-connect-sdk 之上构建。但这需要一些时间。与您的客户讨论这种情况 - 因为这并不像看起来那么容易。如有必要,使用现有的经过实战考验的解决方案,但避免自行实施。 -
@fateddy 实际上我认为
OpenID Connect是允许客户端(资源服务器)连接到一些已经可用的OpenID Providers,如谷歌、Facebook、GitHub 等。实际上我不想使用任何现有的OpenID Providers,如谷歌、Facebook 等,我想创建自己的Relying Party和Identity Provider,用于在Oauth2之上进行身份验证。是否可以使用 Oauth2 框架进行一些额外的配置 -
基本上你想实现自己的 OpenId 服务器。看看这个问题,我的回答可能会有所帮助......stackoverflow.com/questions/13070282/…
-
@AlexMan 浏览这些示例 connect2id.com/learn/openid-connect - 因为我自己没有浏览 OpenID Connect 规范(它真的只是一个有特定合同的资源服务器吗?)恐怕我'在这里没有太多有用的帮助。
标签: spring spring-security oauth-2.0 openid openid-provider