zoukankan      html  css  js  c++  java
  • OAuth2 OpenID Connect概述

     在传统的Client-Server认证模型中,客户端请求访问服务器上受限的资源(Protected Resource),需要通过使用资源所有者(Resource Owner)的凭证在服务器上进行认证。为了支持第三方应用程序访问受限资源,资源所有者需要向第三方应用共享其凭证。这就会造成以下问题:

    1. 第三方应用为了后续使用,会存储资源所有者的凭证主要是密码。
    2. 服务端需要支持密码认证,尽管密码认证不安全。
    3. 第三方应用获得对资源的过度访问而不仅局限于受限资源,且资源所有者没有办法对其进行限制。
    4. 资源所有者无法收回权限,除非修改密码。
    5. 如果第三方应用的密码被破解,就会导致所有被该密码保护的数据被泄露。

    OAuth2简介:

    OAuth2是一个委托协议,它可以让那些掌控资源的人允许某个应用来访问他们掌控的资源,注意这时候是代表那些人而不是假冒或模仿那些人,这些应用从控制者得到授权(Authorization-你能干什么?)而不是身份认证(Authentication-你是谁?)和Access Token来访问这些资源。

    OAuth2 授权服务器:

    这里面主要包含四个角色:

    1. Client:需要授权的客户端。
    2. Resource Owner:资源所有者。
    3. Authorization Server:授权服务器。
    4. Resource Server:资源服务器,顾名思义,用来专门保存资源的服务器,接受通过访问令牌进行访问。

    授权类型:

     

     Scope范围:代表资源所有者在被保护资源的一些权限

    可由自己决定,如将读权限分配为ReadScope,写权限为WriteScope等。

    如在Access Token(用来访问被保护的资源):需描述出Scope的范围和持续时间等。

    Refresh Token:

    用来获取Access Token的凭证,也是Authorization Server 发给客户端的凭证。

    它在传递参数中是可选的,刷新获得的Access Token 权限可能会越来越小。

     OpenID Connect简介:

     为什么不使用Access Token来进行身份认证呢?

     

  • 相关阅读:
    C#密封类和密封方法
    C#类和结构以及堆和栈大烩菜(本来就迷,那就让暴风来的更猛烈吧!)
    C#类、对象、方法、属性详解(摘)感谢博客园,感谢提供者。
    软件工程第十五周总结
    软件工程课堂十一(计算最长英语单词链)
    软件工程第十四周总结
    梦断代码阅读笔记03
    软件工程课堂十(找水王)
    软件工程课堂九(用户体验评价)
    软件工程第十三周总结
  • 原文地址:https://www.cnblogs.com/Xieyiincuit/p/13805007.html
Copyright © 2011-2022 走看看