zoukankan      html  css  js  c++  java
  • 登录科普(一)CAS与Oauth


    https://www.jianshu.com/p/18aedcaf47f2


    CAS的单点登录,资源都在客户端这边,不在CAS的服务器那一方。

    用户在给CAS服务端提供了用户名密码后,作为CAS客户端并不知道这件事。

    随便给客户端个ST,那么客户端是不能确定这个ST是用户伪造还是真的有效,所以要拿着这个ST去服务端再问一下,这个用户给我的是有效的ST还是无效的ST,是有效的我才能让这个用户访问。

    oauth2认证,资源都在oauth2服务提供者那一方,客户端是想索取用户的资源。

    所以在最安全的模式下,用户授权之后,服务端并不能直接返回token,通过重定向送给客户端,因为这个token有可能被黑客截获,如果黑客截获了这个token,那用户的资源也就暴露在这个黑客之下了。

    于是聪明的服务端发送了一个认证code给客户端(通过重定向),客户端在后台,通过https的方式,用这个code,以及另一串客户端和服务端预先商量好的密码,才能获取到token和刷新token,这个过程是非常安全的。

    如果黑客截获了code,他没有那串预先商量好的密码,他也是无法获取token的。这样oauth2就能保证请求资源这件事,是用户同意的,客户端也是被认可的,可以放心的把资源发给这个客户端了。

    所以cas登录和oauth2在流程上的最大区别就是,通过ST或者code去认证的时候,需不需要预先商量好的密码。

  • 相关阅读:
    阿里云 Linux Centos7下安装Tomcat8
    Centos7.5中安装JDK1.8环境变量配置
    JAVA中的抽象类和接口
    Struts2框架
    [机器学习]--逻辑回归总结
    matlab-使用技巧
    机器学习-一对多(多分类)代码实现(matlab)
    机器学习-反向传播算法(BP)代码实现(matlab)
    线性回归代码实现(matlab)
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/SZLLQ2000/p/11270632.html
Copyright © 2011-2022 走看看