使用 Spring Security 实现 OAuth2 隐式授权

Posted

技术标签:

【中文标题】使用 Spring Security 实现 OAuth2 隐式授权【英文标题】:Implementing OAuth2 Implicit Grant with Spring Security 【发布时间】:2018-10-28 19:40:02 【问题描述】:

我正在使用微服务和使用 React JS 的前端 UI 构建一个新应用程序。我使用 Spring Boot 和 OAuth 2.0 创建了一个身份验证微服务。对于单页应用程序,我读过我应该使用隐式授权而不是密码授权。 auth 微服务将支持这一点,但我的问题是我将在哪里实现 UI 以供用户放置他们的用户名和密码?它是在身份验证微服务中还是我必须创建一个单独的 UI 应用程序?

【问题讨论】:

【参考方案1】:

身份验证表单将在您的身份验证微服务上。例如,当您使用谷歌登录时。即使您有自己的微服务,您也会看到 google 登录页面。这是因为身份验证提供者是 google 并且您将用户重定向到登录到 google。

不久前我实现了所有的授权类型。可能是this 会帮助你。

【讨论】:

太好了,我去看看。我不确定微服务是否应该提供 API 和 UI。用户注册应该放在哪里,在身份验证微服务中也是如此? 对微服务的误解之一是它只提供 API。关于用户注册,可以放在 auth 微服务中,也可以根据自己的需要和细分将其分开。

以上是关于使用 Spring Security 实现 OAuth2 隐式授权的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 redis 使用 spring-security-oauth2 持久化令牌

如何使用带有 WebClient 的 spring-security-oauth2 自定义 OAuth2 令牌请求的授权标头?

无法修复 spring-security-oauth2-resource-server 上的漏洞

带有Angularjs注销错误的Spring Boot

使用 Hibernate 实现 JWT Spring Security 令牌存储?

我们如何使用带有 Spring 5.0 的最新 spring-security-oauth2 jar 来实现授权服务器?