Java 如何在Spring OAuth2资源所有者密码中管理用户权限?
我实现了Java 如何在Spring OAuth2资源所有者密码中管理用户权限?,java,spring,spring-boot,spring-security-oauth2,Java,Spring,Spring Boot,Spring Security Oauth2,我实现了SpringOAuth2资源所有者密码,主要基于 . 我对处理用户权限有点困惑。例如,我有一个登录请求: POST /oauth/token HTTP/1.1 Host: localhost:8080 Authorization: Basic cGVwZTpwZXBlc2VjcmV0 Cache-Control: no-cache Postman-Token: cea7a288-3f4a-9a83-47b3-eb6cc4218cf2 Content-Type: application/x
Spring
OAuth2
资源所有者密码,主要基于
.我对处理用户权限有点困惑。例如,我有一个登录请求:
POST /oauth/token HTTP/1.1
Host: localhost:8080
Authorization: Basic cGVwZTpwZXBlc2VjcmV0
Cache-Control: no-cache
Postman-Token: cea7a288-3f4a-9a83-47b3-eb6cc4218cf2
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=myusername&password=mypassword
(and client_id:client_secret encoded)
它的答复是:
{
"access_token": "2ff22411-1ec5-4a36-954f-071de576e78d",
"token_type": "bearer",
"expires_in": 8918,
"scope": "READ_FLIGHTS"
}
此用户具有范围READ\u FLIGHTS
。但是该范围对应于客户机id
,因此登录该应用程序的用户也具有该范围。我希望为用户而不是客户机指定作用域。可能吗?
例如,我想让这个用户A
具有作用域写入飞行
,而用户B
没有。同一应用程序中的两个用户(client\u id
)
你知道怎么做吗
编辑
我已经检查过了,但是我无法理解如何实现它。如果您知道这个实现的一个示例,那就太好了。我找不到任何这周我也一直在看这个。我当前的策略是实现UserApprovalStore,在调用checkForApproval时修改AuthorizationRequest内的作用域@谢谢!如果没有其他解决办法,我会考虑的