我们服务中的身份基于存储在数据库中的令牌。这是由客户端通过使用用户名和密码登录来获取的。
每次请求资源时,我们计划验证令牌并确定用户是否有权访问该资源。
我们的服务是单独部署的,授权服务器可以通过HTTP访问。
授权请求的最佳实践/常用方法是什么?
发送具有请求权限和角色的令牌
我正在考虑将令牌与角色一起传递,并在令牌验证请求中向授权服务器请求用户的权限。
{
token: 'xyz',
role: 'ROLE_ADMIN',
permission: 'SAVE_USER'
}
并回复:200 表示成功,401 表示无效令牌,403 如果他们无权使用权限。
仅在授权请求中发送令牌
考虑到的另一种方法是仅将令牌验证请求中令牌中的令牌发送到授权服务器。
{
token: 'xyz'
}
并以用户拥有的所有权限和角色进行响应:
{
roles: ['ROLE_ADMIN', 'ROLE_USER'],
permissions: ['SAVE_USER', 'DELETE_USER', 'SHOW_USER']
}
其中哪个更可取?或者我可以考虑任何其他/模式方法吗?