我已经阅读了oauth2(rfc6749),现在我想构建自己的uaa。
我选择spring授权服务器,这是我的计划。
我的本机应用使用资源所有者密码凭据授权类型。第三方软件使用授权码授权类型。但是,spring授权服务器将不支持资源所有者密码凭据授予。
因此,我将只在我的本机应用程序中使用jwt令牌。
但我在这里面临一个问题。
Collection<? extends GrantedAuthority> authorities = userDetails.getAuthorities();
if (!CollectionUtils.isEmpty(authorities)){
for (GrantedAuthority grantedAuthority:authorities){
scopes.add(grantedAuthority.getAuthority());
}
}
//generate token ...
就像这样,如果是细粒度的访问控制,那么用户权限的数量就特别大。
{
"sub": "messaging-client",
"aud": "messaging-client",
"nbf": 1621495065,
"authorities": [
"message.read",
"message.write",
"a1",
"a2",
"a3",
...
...
...
//to many here
...
...
],
"iss": "http://auth-server:9000",
"exp": 1621495365,
"iat": 1621495065,
"jti": "49fb7601-53de-402c-b5d9-4ee328c24007"
}
在这种情况下,jwt代币仍然是一个好计划吗?
或者我应该只返回令牌中的角色吗?
我想学习英语的最佳实践 How to build a good User Account and Authentication Server
?
谢谢你的时间!
暂无答案!
目前还没有任何答案,快来回答吧!