OAuth认证 学习与实践

OAuth 认证允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的账户密码或他们的所有数据。在产品上的经典例子是,我做了A网站,但是用户可以通过微博、微信、github登录。

阅读资料

  1. 理论学习:阮一峰老师的一篇文章:理解OAuth 2.0
  2. 服务商视角:ImportSource博主的文章:创建一个Spring Security OAuth认证服务,其中的实战部分讲解了作为服务商如何构建OAuth服务;
  3. 第三方网站视角:OAuth 2.0 认证的原理与实践,这篇文章的例子是作为第三方网站如何与服务商(github)交互的流程。

概念阐述

OAuth是用户、服务提供商(用户信息的提供者)、第三方网站(用户资源的使用者)三者之间通过协作来完成信息的请求、授权、使用的协议。

  1. 用户:第三方网站的使用者
  2. 服务商:用户信息的管理者
  3. 第三方网站:用户信息的访问者

场景重现:授权码(访问令牌)模式

  1. 用户访问第三方网站,第三方网站想对用户存放在服务商的某些资源进行操作。
  2. 第三方网站向服务商请求一个临时令牌。
  3. 服务商验证第三方网站的身份后,授予一个临时令牌。
  4. 第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权,然后这个过程中将临时令牌和第三方网站的返回地址发送给服务商。
  5. 用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所想要和能够访问的资源。
  6. 授权成功后,服务商将用户导向第三方网站的返回地址。
  7. 第三方网站根据临时令牌从服务商那里请求访问令牌。
  8. 服务商根据令牌和用户的授权情况授予第三方网站访问令牌。
  9. 第三方网站使用获取到的访问令牌访问存放在服务商对应的用户资源

编码联系

  1. oauth-github-demo

微信开发文档阅读

  1. 网页授权获取用户基本信息

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

Linux备份工具简介

备份涵盖的范围很广,我们可以备份出一个重要文件的副本,也可以备份出一个完整的磁盘的快照。许多桌面应用程序和操作系统会自动进行数据备份。相比之下,腾讯云是一个灵活...

2521
来自专栏全华班

springcloud学习手册-API Gateway (API网关)

导读 | API Gateway (API网关) ? 一、为什么服务之间需要使用API Gateway (API网关)呢? 引用「Chris Richardso...

3606
来自专栏熊训德的专栏

Hbase Replicaition 在腾讯云中应用概述

Hbase 的 Repliation 是通过 Zookeeper 的协助,从 Master 集群异步往 Slave 集群写 WAL 实现的。可以实现典型的 Ma...

6965
来自专栏小白安全

小白博客 迷你音乐播放器及实现全站pjax无刷新加载

演示截图: ? 请点击此处输入图片描述 ? 请点击此处输入图片描述 使用教程,下载播放器文件,直接上传压缩包至你的网站根目录,然后解压到根目...

4925
来自专栏风中追风

分布式进阶__zookeeper的zab协议工作原理之原子广播

paxos协议主要就是如何保证在分布式环网络环境下,各个服务器如何达成一致最终保证数据的一致性问题

50615
来自专栏ytkah

织梦DEDECMS后台精简删除不需要的文件

如果是一开始就不想要的话,安装版plus目录下进行如下操作。 删除:guestbook文件夹【留言板,后面我们安装更合适的留言本插件】; 删除:task文件夹和...

5824
来自专栏腾讯开源的专栏

别小看 Phx 这几位剑客!他们可是微信强大的支持后盾

三位武林高手:轻便简洁的 PhxRPC 框架,基于 Paxos 协议的多机状态拷贝类库 PhxPaxos 以及分布式数据库服务 PhxSQL 。下面,我们将深入...

2.5K3
来自专栏Spark学习技巧

调试flink源码

本文主要是讲讲flink的源码编译,案例运行,flink源码调试过程。调试flink的源码及案例,需要先clone工程,编一下源码,去掉规范检查,修改工程,最后...

3375
来自专栏Java后端生活

Linux(二)CentOS的安装

3155
来自专栏大数据和云计算技术

MongoDB系列10:Change Streams构建实时同步数据流

本文是第10篇,主要讲述Change Streams构建实时同步数据流的实战经验,非常值得一看。

2982

扫码关注云+社区