0

这些资源描述了如何使用各种 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。

根据我的研究,CloudFoundry 用户帐户和身份验证 (UAA) 服务器项目似乎适合这种情况,但我不太确定它是否是最简单的选择。

最终,我正在寻找一种方法来使用自定义令牌覆盖返回到 Alexa OAuth 客户端应用程序的授权令牌,我可以在令牌生成过程中以某种方式注入该令牌。OAuth spring 安全方面的哪些类负责令牌生成,有没有办法在此处连接我自己的生成策略以覆盖默认值?有没有人可以参考我的工作代码示例?

4

1 回答 1

0

据我了解您的问题,您正在寻找一种基于第三方授权令牌自行授予授权令牌的可能性。

为此,我会推荐一个自定义的spring-security Authorization Server. 该服务器能够OAuth自行生成令牌。也许有可能 - 在一些配置的帮助下 - 配置自定义Authorization Server,以便它将依赖第三方授权令牌。指南应该可以帮助您。

您可以在此处spring-security Authorization Server找到文档。

另一种解决方案是使用Keycloak身份提供者。它还具有所谓的能力identity brokering,即依赖第三方代币并基于它授予自己的代币。Keycloak也可以授权。

于 2018-10-07T18:07:15.560 回答