现有 Spring 启动应用程序的 Oauth2.0 授权代码流

Oauth2.0 Authorization code flow with Existing Spring boot application

我们有旧的 Spring 引导应用程序,其中我们将用户名(唯一)、密码和授权密钥(唯一)以纯文本形式存储在 MySQL 中。对于每个 API 请求,我们都使用授权密钥来识别用户。我们正在尝试将 Alexa 与我们的应用程序集成。 Alexa 强制需要 OAuth 2.0.

到目前为止,很难改变整个流程。 你能指导我如何实现 OAuth 2.0 授权代码授权流程,用户名和密码存储为纯文本吗?并且每个 API 都需要有一个用户标识密钥,以便我们可以从数据库中获取准确的数据。?我们如何使用 OAuth 2.0 从资源服务器获取用户特定的数据?

我已经参考了在线文章,但它主要是关于加密密码和默认响应,没有任何相应的用户数据。

谢谢

另一种选择是将第 3 方 OAuth 集成到您的应用程序中。您可以使用 Login with Amazon、Facebook、Google、Github... Okta 和 Auth0 等服务提供简单的工具包来集成这些以及更多。

这是一个使用 Okta 的服务通过 Spring 引导执行此操作的示例:https://developer.okta.com/blog/2019/05/15/spring-boot-login-options

与第三方共享 Username/Password 并让应用程序假装是您是 OAuth 专门设计来帮助您避免的事情之一。