码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • OAuth2 的授权流程


    文章目录

    • 📖 OAuth2 的授权流程
      • 📑 参与的角色
      • 📑 授权流程
      • 📑 授权许可 `Authorization Grant`
      • 📑 直白话 OAuth2 流程

    📖 OAuth2 的授权流程

    📑 参与的角色

    1️⃣ Resource Owner资源所有者,即代表授权客户端访问本身资源信息的用户(User),也就是应用场景的“开发者A”

    2️⃣ Resource Server 资源服务器,托管受保护的用户账号信息,比如Github。

    3️⃣ Authorization Server 授权服务器,验证用户身份然后为客户端派发资源访问令牌,比如Github

    • Resource Server 和 Authorization Server 可以是同一台服务器,也可以是不同的服务器,视具体的授权平台而有所差异。

    4️⃣ Client客户端,即代表意图访问受限制的第三方应用

    📑 授权流程

    授权流程

    image.png

    流程解析

    1️⃣ 用户打开客户端以后,客户端要求用户给予授权

    2️⃣ 用户 同意给予客户端授权。

    3️⃣ 客户端使用上一步获得的授权,向认证服务器申请令牌。

    4️⃣ 认证服务器对客户端进行认证之后,确认无误,同意发放令牌。

    5️⃣ 客户端使用令牌,向资源服务器 申请获取资源。

    6️⃣ 资源服务器确认令牌无误,同意向客户端 开放资源

    📑 授权许可 Authorization Grant

    Authorization Code

    结合普通服务器端应用使用(web端常用的授权方式)

    Implicit

    结合移动应用或者WebApp使用

    Resource Owner Password Credentials

    适用于受信任的客户端应用,例如通哥组织的内部或外部应用

    Client Credentials

    适用于客户端调用主服务API型应用(比如百度API Store)

    📑 直白话 OAuth2 流程

    上述流程理解起来有些难度,这儿我们给出一个白话版的流程图

    首先需要引入三个角色:

    1️⃣ 用户A:可以理解成你自己

    2️⃣ 网站B:可以理解成OSChina

    3️⃣ 第三方C:可以理解成Github

    📚 需求:

    你(用户A)想通过 Github(第三方C)登录网站B(OSChina)

    💡注: 下面的内容为流程图,如果您在阅读的时候显示为纯文字,请尝试刷新页面,直到显示正常。

    在这里插入图片描述

  • 相关阅读:
    面试官:讲讲MySql索引失效的几种情况
    见微知著,从两道有意思的 CSS 面试题,考察你的基础
    .NET与C#未来大流行是必然趋势
    C语言写打包DLL或者so给第三方调用
    多线程快速处理List集合(结合线程池的使用)
    网络初识(概念入门)
    Stm32_点灯
    一招教你控制python多线程的线程数量
    LoadImage cannot find a suitable reader for file运用MONAI框架导入数据时存在的问题
    【C语言】归并排序
  • 原文地址:https://blog.csdn.net/fuijiawei/article/details/128014935
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号