为 Oauth2 Spring Boot 创建自定义 OpenId 提供程序

2024-04-09

我使用 Oauth2 框架进行授权和访问控制,以保护我的 Spring Boot 微服务 api。 Oauth2 框架工作正常,但现在我的客户需要一个专用的 OpenId 提供程序,用于在 Oauth2 框架之上进行身份验证。我已经在 Google 上进行了一轮搜索,但找不到太多用于为 Oauth2 实现 Own OpenId Provider 的资源。我浏览了很多博客,可以理解,当我们想要委托 Oauth2 进行身份验证时,基本上会使用 OpenId。 OpenId 是在 Oauth2 之上创建的,但找不到太多资源来激活或实现它。

谁能帮我解决这个问题吗

我使用 Oauth2 和 Spring Framework 完成的完整源代码如下所示

oauth2-spring https://bitbucket.org/nidhishkrishnan/oauth2-spring/src/f380816cca0d280d6311cfb7c6b9ecb2cb555063?at=master


根据 ”OAuth 2.0 功能矩阵 https://github.com/spring-projects/spring-security/wiki/OAuth-2.0-Features-Matrix“在春季项目/弹簧安全 https://github.com/spring-projects/spring-security,Spring 框架对于 OpenID Connect 来说并不是一个好的起点。所有新项目(Spring Security、Spring Cloud Security 和 Spring Boot OAuth2)均不支持授权服务器。另一方面,旧项目(Spring Security OAuth)存在架构问题,阻碍了 OpenID Connect 支持。

The OpenID Connect 网站 https://openid.net/connect/ says “OpenID Connect 1.0 是 OAuth 2.0 协议之上的简单身份层。”这句话可能给人的印象是,OpenID Connect 可以在现有的 OAuth 2.0 实现之上逐步实现。然而,事实并非如此。一个证据是弹簧安全oauth https://github.com/spring-projects/spring-security-oauth/ 第619期 https://github.com/spring-projects/spring-security-oauth/issues/619您会看到该项目已放弃支持 OpenID Connect。如果有兴趣,请参阅“5.响应类型”"OAuth 和 OpenID Connect 的 Full Scratch 实现者谈论调查结果 https://medium.com/@darutk/full-scratch-implementor-of-oauth-and-openid-connect-talks-about-findings-55015f36d1c3"了解更多详情。

有许多支持 OpenID Connect 的实现。你为什么不检查一下名单认证实施 https://openid.net/developers/certified/?

Update(2019 年 11 月 14 日):

Spring Security 团队决定不再提供对授权服务器的支持。看看他们的announce https://spring.io/blog/2019/11/14/spring-security-oauth-2-0-roadmap-update了解详情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 Oauth2 Spring Boot 创建自定义 OpenId 提供程序 的相关文章

随机推荐