spring - 具有 Spring Boot Security 的一个客户端应用程序的多种授权类型
问题描述
我正在编写一个客户端(Spring Boot 应用程序),它必须为用户提供两个端点,一个使用授权代码授予,另一个使用资源所有者密码凭据授予。端点位于不同的 URL 上。另一个将由内部应用程序使用,所以我不关心安全性。
我有一个外部 OAuth2 服务器(授权和资源服务器) - 所以我没有对它们进行编程,但我可以完全访问它们的配置。钥匙斗篷有问题。
我设法设置了授权代码授予,但无法让另一个工作。
我的 application.yml 看起来像:
security:
oauth2:
resource:
token-info-uri: ...3rd party...
userInfoUri: ...3rd party...
client:
client-id: ...
client-secret: ...
grant-type: authorization_code
registered-redirect-uri: http://localhost:8080/app/auth_grant
pre-established-redirect-uri: http://localhost:8080/app/auth_grant/
user-authorization-uri: ...3rd party uri...
access-token-uri: ...3rd party uri...
scope:
- read
- write
- openid
我有一个带有注释的 WebSecurityConfigurerAdapter 实现, @EnableOAuth2Sso
@Configuration
它只允许未经授权访问/login 。
现在我希望我的用户能够在(示例)/login_ROPCG使用资源所有者密码凭据授予登录。
我已经阅读了文档,但我想我走错了方向。你能给我一些提示吗?
我读过这条评论:Spring Boot Oauth2 use multiple grant_types for same URL 其中提示我需要两个具有不同映射的不同安全配置,但我不知道该怎么做。
我读过这篇文章:如何在 Spring Boot 中使用 JWT 身份验证实现基本身份验证?但我看不到如何设置两种不同的授权类型。
正因为如此,我不确定这是否可能: https ://github.com/spring-projects/spring-boot/issues/14554
解决方案
推荐阅读
- android - adapter.setHasStableIds(true) 为什么在 RecyclerView 中默认不启用?
- highcharts - 如何将 highchart 图例分页对齐到图例的右侧或左侧?
- c# - elasticsearch和.net中的动态字段排序
- android - 如何解决“重复课程”问题?
- chat - 谷歌是否有一些 API 可以检索环聊房间内的所有对话
- wordpress - 联系表格 7 没有找到正确的表格,Hello World 帖子没有被删除
- r - 如果嵌套列表中的至少一个值不是 NA,则替换嵌套列表中的 NA
- html - 不要通过特定 div 内的 css 定位元素
- mysql - 在一个查询中使用 distinct 、 Case 和 order by
- python - URL Selenium 超出了最大重试次数