这些资源描述了如何使用各种OAuth 2.0和OIDC 1.0身份验证提供程序作为使用Spring Boot 2在授权代码授予流程中登录用户的一部分。
如何在Spring Boot本身中从头开始创建并快速建立这样一个符合OAuth 2的身份验证提供程序,而不是使用Okta,Google,GitHub或Login with Amazon(LWA(?
我的用例是作为 OAuth 2.0 客户端的 Alexa 技能,它通过其帐户链接功能(通过 LWA(进行配置,以返回(非 OID(OAuth 令牌作为其授权代码流的一部分,然后通过注册的 Alexa 的 webhook URL 传播到我的 Web 服务中。
根据我的研究,CloudFoundry用户帐户和身份验证(UAA(服务器项目似乎适合这种情况,但是我不太确定它是否是最简单的选择。
最终,我正在寻找一种方法来使用自定义令牌覆盖返回到 Alexa OAuth 客户端应用程序的授权令牌,我可以在令牌生成过程中以某种方式注入该令牌。 OAuth spring安全端中负责令牌生成的类有哪些,有没有办法在那里连接我自己的生成策略来覆盖默认值? 是否有任何工作代码示例可以参考我?
据我了解您的问题,您正在寻找基于第三方授权令牌自行授予授权令牌的可能性。
为此,我建议您使用自定义spring-security
Authorization Server
。该服务器能够自行生成OAuth
令牌。也许可以 - 在某些配置的帮助下 - 配置自定义Authorization Server
,以便它依赖于第三方授权令牌。本指南应该可以帮助您。
您可以在此处找到spring-security
Authorization Server
文档。
另一种解决方案是使用Keycloak
标识提供者。它也能够所谓的identity brokering
,这意味着依赖第三方代币并基于它授予自己的代币。Keycloak
也可以授权。