为OAuth2 Spring Boot创建自定义OpenID提供商



我已经使用了OAuth2框架来保护我的Spring Boot Microservice API。OAuth2框架工作正常,但是现在我的客户希望在OAUTH2 FRAFERWORK上使用专用的OpenID提供商,以实现身份验证目的。我已经在Google上进行了一些搜索,但是找不到太多资源来为OAUTH2实施自己的OpenID提供商。我已经浏览了许多博客,并且可以理解,当我们想从OAuth2授权身份验证时,基本上使用了OpenID。OpenID是在OAuth2顶部创建的,但找不到激活或实施的资源。

任何人都可以帮助我

我使用oauth2与弹簧框架完成的完整源代码如下

给出

oauth2-spring

根据" oauth 2.0功能矩阵"在弹簧项目/春季安全性中,弹簧框架不是OpenID Connect的好起点。没有一个新项目(Spring Security,Spring Cloud Security和Spring Boot OAuth2(支持授权服务器。另一方面,旧项目(Spring Security Oauth(存在架构问题,可以防止OpenID Connect支持。

OpenID Connect的网站说" OpenID Connect 1.0是OAuth 2.0协议之上的简单身份层。" 此句子可能会给人留下深刻的印象,即可以在一个顶部实现OpenID Connect现有的OAuth 2.0实施一步。但是,这不是真的。一个证据是春季安全性 - 欧洲第619期,您看到该项目放弃了支持OpenID Connect。如果有兴趣,请参见" "中的"响应类型"。

存在许多支持OpenID Connect的实现。您为什么不检查认证实施列表?

更新(2019年11月14日(:

春季安全团队已决定不再为授权服务器提供支持。有关详细信息,请参见其宣布。

我认为首先实现OAuth2代码流的开始可能会更容易。然后添加隐式流,最后一个OpenID连接部分。

如果您想拥有一个认真的OpenID提供商,我建议从头开始实现,因为有很多的详细信息可以正确。相反,我建议使用可以集成到现有系统的Hydra之类的东西。

已经从头开始创建了一个开放式提供商(SimpleLogin.io(,我可以说,几乎永远需要100%符合协议...

最新更新