首页 > 其他分享 >OAuth2知识点总结

OAuth2知识点总结

时间:2022-10-19 17:50:53浏览次数:61  
标签:总结 知识点 OAuth2 访问 拥有者 OAuth 资源 客户端

OAuth2是什么?

OAuth2是一个授权协议。OAuth2.0框架能让第三方应用以有限的权限访问HTTP服务,可以通过构建资源拥有者与HTTP服务间的许可交互机制,让第三方应用代表资源拥有者访问服务,或者通过授予权限给第三方应用,让其代表自己访问服务。

我们需要关心如下角色:

  • 资源拥有者:拥有资源权限的一个人;
  • 受保护的资源:资源拥有者有权限访问的组件,大多数情况下是WebApi形式;
  • 客户端:只要软件使用了受保护的API,它就是客户端;

通过以上组件最终达到的效果是:让客户端为资源拥有者访问受保护资源。用户身份认证直接在用户(和用户的浏览器)与授权服务器之间进行,这个过程对客户端应用不可见。这一重要特性避免了用户将自己的凭证透露给客户端应用,对抗这种反模式正是发明OAuth的原因。

OAuth2不能做什么?

  • OAuth没有定义HTTP协议之外的情形;
  • OAuth不是身份认证协议;
  • OAuth没有定义用户对用户的授权机制;
  • OAuth没有定义授权处理机制;
  • OAuth没有定义令牌的格式;
  • OAuth没有定义加密方式;
  • OAuth不是单体协议;

OAuth2重要组件

  • OAuth客户端:是代表资源拥有者访问受保护资源的软件;
  • 受保护资源:能通过HTTP服务器进行访问,在访问时需要OAuth访问令牌。受保护资源需要验证收到的令牌,受保护资源对是否认可令牌拥有最终决定权;
  • 资源拥有者:有权将访问权限授权给客户端的主体。在大多数情况下,资源拥有者是一个人;
  • OAuth认证服务器:是一个HTTP服务,它在OAuth系统中充当中央组件,授权服务器对资源拥有者和客户端进行身份认证,让资源拥有者向客户端授权、为客户端颁发令牌、为受保护的资源校验令牌;

OAuth2细节:

  • scope参数:使用空格分隔的字符串;
  • 授权码许可流程:需结合前端信道和后端信道通信;

标签:总结,知识点,OAuth2,访问,拥有者,OAuth,资源,客户端
From: https://www.cnblogs.com/bigstrong/p/16807169.html

相关文章

  • 进程间通信7种方式总结
    //linuccommand===>man====>pipe,mkfifo,kill&signal,semget,shmget,msgget,inet_addr//三次握手四次挥手//client==>connectreq,//server==>ack,//client===>ack///......
  • jsp语法与jsp基本知识点
    【jsp基本知识点】JSP全称是JavaServerPages,它和servlet技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP/Servlet规范。JSP实......
  • 总结 vue 实现分页器的基本思路
    简介本文介绍基于vue2框架实现基本的分页器,包括页码前进/后退、页码点击跳转、显示...、显示总页数、显示总数据条数等功能。效果预览快速跳转视图部分、样式部......
  • 设计模式总结
    简述设计模式的分类创建型模式:在创建对象的同时隐藏创建逻辑,不使用new直接实例化对象。有工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模......
  • 【Vue】图片拉近、全屏背景实战经验总结
    1图片拉近缘起是看到了下面的图片,我发现当鼠标悬浮的时候,发现他是可以拉近的,也就是图片的宽高不变,但是图片被放大了起初我以为是有一个这样的方法,可以实现这个操作,但是查找......
  • vue组件通信6种方式总结(常问知识点)
    前言在Vue组件库开发过程中,Vue组件之间的通信一直是一个重要的话题,虽然官方推出的Vuex状态管理方案可以很好的解决组件之间的通信问题,但是在组件库内部使用Vuex往往会......
  • 习惯用脚手架的你, 了解Webpack这些知识点吗?
    大概准备春招两个月了,也没找到坑位埋自己,来看看webpackwebpack官网:www.webpackjs.com对于前端的大兄弟来说,每天在前端摸爬滚打,各方征战,那对于webpack肯定再熟......
  • 云原生学习筑基 ~ 组网必备知识点 ~ DNS服务
    @目录​​一、为啥写这篇文章?​​​​二、DNS的作用​​​​三、域​​​​四、DNS工作原理​​​​五、搭建DNS服务器​​​​5.1、Bind​​​​5.2、系统环境准备​​​​......
  • React组件之间的通信方式总结(下)
    一、写一个时钟用react写一个每秒都可以更新一次的时钟importReactfrom'react'importReactDOMfrom'react-dom'functiontick(){letele=<h1>{new......
  • React组件之间的通信方式总结(上)
    先来几个术语:官方我的说法对应代码ReactelementReact元素letelement=<span>A爆了</span>Component组件classAppextendsReact.Component{}无Ap......