作者回复: 不是,资源服务器会对token进行权限校验(也可在微服务网关上集中做),简单讲,资源服务器可以按需增加细粒度权限控制~这个token对应的用户是什么角色,有什么权限,能做什么操作,资源服务器有更多决策权,而且不同资源服务器可有不用策略。当然token是有被盗用风险,有一些安全措施防止被盗,发现被盗可以吊销,另外可根据场景缩短token有效期。
作者回复: 谢谢支持🌹
作者回复: 恩,你看得很细,这个严格不能算按某个维度分的类型,是常见token称谓的解释,谢谢反馈🌹
作者回复: Bearer Token是Access Token的一种格式,这种格式一般是随机字符串无特殊意义,也就是不能从Bearer Token的字面推断出这个Token是谁颁发给谁的,像现钞一样谁拿到了都可以去消费使用;还有一种叫Proof of Possession(PoP) Token,这种Token里头包含所有者信息,可以校验拥有者,别人不能随便用。
作者回复: 细粒度权限控制一般都是需要定制的,在微服务场景下,常见做法使用jwt令牌,里头可个包含用户角色和组等信息,这样可以在网关层做初步的权限控制,后台服务层还可以根据用户角色/组等信息做进一步权限控制。后面我会开发一个案例项目,展示如何实现细粒度的微服务权限控制,请关注github.com/spring2go上面的项目。
作者回复: 严格按OAuth2协议规范讲是授权服务器,但是实际不需要太纠结,因为一般授权服务器也支持用户认证。
作者回复: OAuth2主要的模式有四种,其中一种是机器直接参与(没有人参与的),称为客户端模式(Client Credentials Grant) ,你讲的应该属于这种。课程后面有讲解,也可以进一步参考RFC6749,或者阮一峰的文章《理解OAuth2》http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
作者回复: oauth2安全敏感场景下要求使用https
作者回复: 资源服务器可以去授权服务器校验(透明令牌bearer token场景),也可以网关集中校验,也可自校验(自包含令牌jwt token场景)。授权服务器和资源服务器上的校验功能(如filter)一般由一个团队(比如框架)集中开发维护,资源服务器本身一般由各业务团队独立开发。
作者回复: 授权服务器主要管授权,它一般集成有用户登录认证(user identity)模块,用户登录同意授权第三方应用可以访问自己在资源服务器上的资源。