• DK
    2018-05-08
    如果拿到token之后,岂不是对于任何服务的访问就没有限制了,利用该token攻击别人的数据怎么处理呢

    作者回复: 不是,资源服务器会对token进行权限校验(也可在微服务网关上集中做),简单讲,资源服务器可以按需增加细粒度权限控制~这个token对应的用户是什么角色,有什么权限,能做什么操作,资源服务器有更多决策权,而且不同资源服务器可有不用策略。当然token是有被盗用风险,有一些安全措施防止被盗,发现被盗可以吊销,另外可根据场景缩短token有效期。

    
     16
  • 我是Helen💋
    2018-05-08
    欲罢不能,高手就是能把复杂的问题用最通俗的表达展现出来。视频课程中我觉得最好的,没有之一。波波老师已成我的偶像啦。

    作者回复: 谢谢支持🌹

    
     12
  • 立地成佛
    2018-07-08
    token分类这页有问题吧,分类维度都各不相同,怎么就分了五类?

    作者回复: 恩,你看得很细,这个严格不能算按某个维度分的类型,是常见token称谓的解释,谢谢反馈🌹

    
     6
  • 加勒比海贼王
    2018-05-12
    Access Token和 Bearer Token有什么区别呢?

    作者回复: Bearer Token是Access Token的一种格式,这种格式一般是随机字符串无特殊意义,也就是不能从Bearer Token的字面推断出这个Token是谁颁发给谁的,像现钞一样谁拿到了都可以去消费使用;还有一种叫Proof of Possession(PoP) Token,这种Token里头包含所有者信息,可以校验拥有者,别人不能随便用。

    
     4
  • 码农Kevin亮
    2019-12-13
    老师一直强调OAuth是授权协议不是认证协议。究竟如何理解授权与认证两个概念呢?

    作者回复: 这个问题很容易混淆,oauth2的是一种代理授权协议,它只是定义令牌颁发的几种流程,具体你是怎么认证的,它其实没有定义,当然授权之前一般都有认证过程,只是它的规范没有定义。

    参考rfc 6749的3.1节(最后一句是重点):
    https://tools.ietf.org/html/rfc6749#section-3.1

    The authorization endpoint is used to interact with the resource owner and obtain an authorization grant. The authorization server MUST first verify the identity of the resource owner. The way in which the authorization server authenticates the resource owner (e.g., username and password login, session cookies) is beyond the scope of this specification.

    进一步可以参考stackoverflow上的说明,解释很清楚:
    https://stackoverflow.com/questions/33702826/oauth-authorization-vs-authentication

    
     1
  • 许凯
    2019-07-27
    想请问老师,有对资源进行细粒度的权限控制方案吗?

    作者回复: 细粒度权限控制一般都是需要定制的,在微服务场景下,常见做法使用jwt令牌,里头可个包含用户角色和组等信息,这样可以在网关层做初步的权限控制,后台服务层还可以根据用户角色/组等信息做进一步权限控制。后面我会开发一个案例项目,展示如何实现细粒度的微服务权限控制,请关注github.com/spring2go上面的项目。

     1
    
  • 张永峰
    2019-02-18
    (5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。

    yuanyifeng的blog里面的认证服务器,应该是授权服务器才更准确吧,严谨来讲的话,认证和授权(Authentication & Authorization)是不同的概念。

    作者回复: 严格按OAuth2协议规范讲是授权服务器,但是实际不需要太纠结,因为一般授权服务器也支持用户认证。

    
    
  • 约书亚
    2019-01-27
    老师,现在讲微服务的地方一定一提到oauth2,我实在弄不懂这俩之间到底算不算有必然的联系?
    比如我们的系统实践的微服务,有多个种类的“客户端角色”(有的是硬件设备),其中一部分并没有“用户”这一概念,也就不存在oauth2中那种典型的三角关系。
    就比如专门提供给硬件设备的服务,通过某些认证功能,服务端也发放了令牌(access token)给硬件设备,之后硬件设备可以持有这些令牌去和服务端其他api交互(上传数据,获取信息)。
    此种情况种种,有的存在refresh token,有的仅有access token。
    这算不算是oauth2呢?
    展开

    作者回复: OAuth2主要的模式有四种,其中一种是机器直接参与(没有人参与的),称为客户端模式(Client Credentials Grant) ,你讲的应该属于这种。课程后面有讲解,也可以进一步参考RFC6749,或者阮一峰的文章《理解OAuth2》http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

    
    
  • 你在门外笑
    2018-12-02
    oauth2 应该可以使用https吧?

    作者回复: oauth2安全敏感场景下要求使用https

    
    
  • 在路上
    2018-09-26
    第三方应用携带token到资源服务器访问资源,资源服务器怎么知道这个token是否合法,需要到授权服务器请求验证吗?资源服务器和授权服务器一般属于一方开发的吗?

    作者回复: 资源服务器可以去授权服务器校验(透明令牌bearer token场景),也可以网关集中校验,也可自校验(自包含令牌jwt token场景)。授权服务器和资源服务器上的校验功能(如filter)一般由一个团队(比如框架)集中开发维护,资源服务器本身一般由各业务团队独立开发。

    
    
  • 蜗牛
    2018-09-14
    验证通过后进行授权,并将授权信息写入token里面。授权服务器只是授权,不进行验证,是这样吗?老师!我是小白,多多包涵

    作者回复: 授权服务器主要管授权,它一般集成有用户登录认证(user identity)模块,用户登录同意授权第三方应用可以访问自己在资源服务器上的资源。

    
    
我们在线,来聊聊吧