• 无尽
    2019-09-04
    老师,能说说:OAuth SAML kerberos三者区别吗?

    作者回复: SAML和kerberos我也没有直接经验,SAML和OAuth类似,Web时代的一种认证授权标准协议,以xml格式交换数据,比OAuth重,目前还有很多企业在用SAML,OAuth是当前行业主流。

    
     1
  • 黑米
    2018-12-26
    波波老师,这个视频中为什么没有输入输入用户名和密码?是不是你之前登录过,浏览器记住了你登录了,就直接问你是否授权?

    作者回复: 嗯,你看得很仔细,视频中我的确之前登录过,浏览器记住了,所以直接到授权页面,按标准简化模式是需用户登录的,谢谢提醒!

    
     1
  • 赵津
    2018-09-29
    请问简化模式的应用场景是?

    作者回复: 单页应用,对外安全不太敏感场景,或企业内安全不严格场景

    
     1
  • 壮壮
    2019-11-28
    在用浏览器获取token的时候,输入的链接的时候一定要仔细,否则在输入用户名和密码之后会报错。
    波波老师的请求url是:
    http://localhost:8080/oauth/authorize?client_id=clientaapp&redirect_uri=http://localhost:9001/callback&response_type=token&scope=read_userinfo&state=abc
    我自己由于拼写错误导致了报错。
    报错信息:OAuth Error
    error="invalid_client", error_description="Bad client credentials"
    原因就是我把在浏览器请求的url写错为:
    http://localhost:8080/oauth/authorize?client_id=clientaapp&redirect_uri=http://localhost:9001/callback&response_type=token&scope=read_userinfo&state=abc。这里的client_id写的有问题,写错为:clientaapp。
    所以一定要仔细。
    展开

    作者回复: 谢谢你的提醒!

    
    
  • 大鹏
    2019-04-29
    老师,有几个问题。简化模式是不安全的,我理解的是:
    1.token会在浏览器处解析
    2.简化模式获取token时没传client secret.别人只要拿到client id就能代表这个客户端去获取token.
    这两点缺陷 密码模式也有,那么密码模式也一样不安全吗。既然一样不安全,为什么密码模式允许用refresh token? 是否可以理解为密码模式比简化模式安全性更高,才允许用refresh toke.那高在哪里呢。
    还有个问题,我看第七讲 讲 spring security auth提到的那个日本公司,并留了个链接,我看了一下。简化模式,获取token的redirect uri是指向client resource的,需要获取脚本解析url #后面的token。为什么在实验中没看到解析过程,直接就返回解析好了的token. 是解析完了吗?另外client resource指向的是什么 与client什么区别。
    展开

    作者回复: 你好,简化模式不安全主要就是你理解的两点:
    1,token对浏览器可见,
    2,获取令牌时只传clientId,没有经过clientSecret校验。
    一般简化模式仅适用于安全不严格的应用场景。

    密码模式在开放平台场景下同样也不安全,但是第一方受信认应用场景是可以的,例如,很多公司为自己开发的无线app使用密码模式。

    简化模式的令牌解析过程,请参考官方RFC6749文档,4.2节Implicit Grant讲得很清楚,C步骤授权服务器会向浏览器发送重定向指令,重定向地址带#令牌,然后D步骤浏览器根据重定向指令向静态资源服务器(Web Hosted Client Resource)请求静态资源(注意这步#后面的令牌仅留在浏览器端,不会被发送到静态资源服务器),这个静态资源里头含有脚本script,这个脚本在E步骤到达浏览器后可以读取浏览器地址#后面的令牌,这就相当于是一个解析过程。Lab05的Angularjs单页应用实验,代码里头其实有这样一个解析过程。

    
    
  • 张乾坤
    2018-09-27
    在浏览器中使用github上的测试连接(http://localhost:8080/oauth/authorize?client_id=clientapp&redirect_uri=http://localhost:9001/callback&response_type=token&scope=read_userinfo&state=abc)提示输入用户名密码是怎么回事?没有返回视频上的token。

    作者回复: 简化模式也是需要用户认证的,输入用户名密码即可,配在application.properties文件里头

    
    
  • 朢不了你
    2018-09-17
    老师,项目导不进来,文件被标记为只读,权限拒绝

    作者回复: 我这边导入正常,github上项目文件应该没有权限只读说法,windows显示文件夹只读也没关系的,你检查下本地环境,如果还有问题可以在其它机器上试一下

    
    
  • 凯文1985
    2018-08-04
    如果授权服务器和资源服务器都放在一起 就不是很明白资源服务器怎么跟授权服务器进行交互来检验token了 同时我用了最新的Springboot 2.1 和spring security 2 来写这个例子 发现一直不成功

    作者回复: 授权服务器和资源服务器住在一起,则通过共享存储(db or in memory)方式实现令牌校验。请使用spring boot 1.x完成实验,2.x还没验证过。

    
    
我们在线,来聊聊吧