oauth2授权码模式——微信第三方登录原理

oauth2有四种授权模式,授权码模式是最常用的模式

oauth2其实就是一种通用的协议,如果你的应用想要支持这种协议就需要通过代码来实现它

不过也没有谁会从头开始去实现这个协议,各种编程语言已经有现成的框架已经实现了oauth2协议,直接引入框架就可以开发一个支持oauth2协议的服务器了

首先思考一个问题:oauth2授权码模式是为了解决什么问题?

解决的问题:

  1. 方便用户登录,一个普通用户相比于输入号码和验证码,直接点击微信授权然后登录app,这样使用成本会低很多,降低新用户的使用成本,提升拉新数据
  2. 安全授权,开放一部分的访问权限

大部分第三方登录采用的都是oauth2授权码模式,下面我们以微信第三方登录为例,理解和学习授权码模式
在这里插入图片描述

登录流程:
1 用户访问app点击登录界面,点击第三方登录按钮,比如:QQ,微信,微博。引导用户跳转到第三方授权页面,用户进行授权操作,比如:允许访问头像和昵称

3 用户授权之后携带client_id和client_secret向微信授权服务器申请code

4 微信服务器返回code(授权码)

5 app拿到code后访问app后台接口

11 后台携带code访问授权服务器

12 授权服务器返回token,此时后台需要生成自己userid标识用户,方便下次登录

后台需要自己维护用户信息,自己根据jwt原理生成自己系统的token

虽然使用了第三方登录,但这是为了方便用户,开发人员的工作量并没有因此减少,反而增大了

7 后台携带登录时候获得的token访问资源服务器

9 资源服务器不知道这个token是否是有效的,需要访问授权服务器认证token是否有效

10 认证token结果返回

8 如果token是有效的就给后台返回用户的信息

6 后台给app返回结果,包含用户信息,登录成功

2 用户看到头像信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27164.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

登陆时做下双因子验证

原文链接:http://www.ruanyifeng.com/blog/2017/11/2fa-tutorial.html 双因素认证(2FA)教程 所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤。 密码是最常见的认证方法&#xff…

spring security oauth2 实现微信登陆(授权回调域、前端重定向、微信解绑、获取用户信息中文乱码等相关问题解析)

OAuth 的核心 OAuth 的核心就是向第三方应用颁发令牌。OAuth提供了四种获取令牌的授权方式 授权码(authorization-code)、隐藏式(implicit)、密码式(password)、客户端凭证(client credentials…

Spring Security OAuth2 优雅的集成短信验证码登录以及第三方登录

基于SpringCloud做微服务架构分布式系统时,OAuth2.0作为认证的业内标准,Spring Security OAuth2也提供了全套的解决方案来支持在Spring Cloud/Spring Boot环境下使用OAuth2.0,提供了开箱即用的组件。但是在开发过程中我们会发现由于Spring Se…

谷歌Google Authenticator实现双因素认证

参考: https://www.cnblogs.com/hanyifeng/p/kevin4real.html 介绍:什么是双因素认证 双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统。双因素认证是一种采用时间同步技术的系统,采用了…

Google-Authenticator双因子认证

简介:Google-authenticator是基于时间的一次性密码算法(TOTP)是一种根据预共享的密钥与当前时间计算一次性密码的算法。它已被互联网工程任务组接纳为RFC 6238标准[1],成为主动开放认证(OATH)的基石&#x…

通过谷歌身份验证器实现双保险认证(1)

目录 一、谷歌身份验证器 二、下载谷歌验证器 1.linux端下载 2.手机端下载 三、linux端安装 1.安装环境 2.解压 3.编译安装​编辑 4.使用 一、谷歌身份验证器 谷歌身份验证器(google authenticator)是谷歌推出的基于时间的一次性密码&#xff08…

微信消息推送配置token验证

留一篇帖子来避坑 在接口配置修改中,微信官方需要验证你申请时填写的url能够正常响应,会给你填写的url接口发送get请求,接口需要正确返回才能都配置成功。我按照指引查看文档: 这狗官方只给php示例也就算了,这php的代码…

四、登录验证功能

登录验证. 用户访问任何业务资源,都需要进行登录验证. *只有登录成功的用户才能访问业务资源 *没有登录成功的用户访问业务资源,跳转到登录页面 分析 1.过滤器 ①implements Filter{ init doFilter destroy } ②配置过滤器web.xml 2.拦截器: ①提供拦截…

用双因子认证2FA替换Google authenticator谷歌令牌,助力准上市公司实现等保安全审计

21世纪初,某人力资源科技公司试水HR SaaS赛道,以大客户为目标客群,持续深耕,稳扎稳打,如今已是一家专门为中大型企业提供一体化HR SaaS及人才管理产品/解决方案的头部企业。其产品覆盖了从员工招募、入职、管理到离职的…

5 客户端认证 OAuth2ClientAuthenticationFilter

客户端认证 https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#token-endpoint-auth-method 当访问 OAuth2 相关接口时(/oauth2/token、/oauth2/introspect、…

outlook突然变得很慢很卡

​outlook之前用的好好的,突然有一天变得很卡,特别是在上传附件后。 可能原因:没有勾选使用缓存Exchange模式,导致没有生成本地的同步ost文件,而是直接从服务器存取数据。 对应解决办法:到账户设置里&#…

学术海报Poster-- 模板分享

学术海报Poster-- 模板分享 0、引言1、下载地址百度网盘链接地址CSDN托管 2、模板样例 ⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容…

世界杯球队分析

文章目录 1. 本文思路2.数据介绍2.1 results.csv数据集2.2 shootouts.csv数据集 3. 数据分析3.1 多维度分析3.2 数据分析案例3.2.1 导入模块3.2.2 导入数据1.遍历目录2.读取数据 3.2.3 查看描述数据1.查看数据2. 获取所有世界杯比赛的数据3. 查看包含FIFA的类型4. 获取世界杯数…

NBA比赛数据分析与预测

我的任务利用13到16年的NBA比赛统计数据,去预测17年的每场NBA比赛。数据是从http://www.basketball-reference.com/这个网站获得的。前期参考了https://www.shiyanlou.com/courses/782/labs/2647/document这里的分析与实现方法。这个实验楼里实现用了LogisticRegres…

使用python爬取足球比赛数据,关于足球预测策略模型,这是我见过唯一三年都盈利的

市场上有很多基于程序自动化的足球预测模型,我本人也不断摸索,自学python,最终实现了程序预测的自动化,并且验证了很多策略,几乎所有的模型都是阶段性表现很不错,但是长期总体下来,都达不到预期…

大数据+NCAA=?球迷情绪预测体育赛事结果

点击上方蓝字关注我们 每年三月,有一项赛事将吸引全世界篮球迷的眼光,那就是全国大学篮球联赛(NCAA)的“疯狂三月”。 “疯狂三月”指的是NCAA男子甲组(Division 1)篮球锦标赛,赛程从3月中旬持…

生成模型的2022年——人工智能AIGC顶级论文回顾

2022年是生成模型奇幻发展的一年,Stable Diffusion🎨创造了超现实主义的艺术, ChatGPT 💬回答了生命意义的问题,Make a Video🎥从文本生成了栩栩如生的马儿,DreamFusion✨生成了不可思议的三维模…

大语言模型

前言: Open AI推出Chat GPT后,风靡全球。AI的强大表现让人折服,带来的商业效应已经逐渐扩散开来。随着人工智能越来越强,未来人们的生活受到影响也会越来越广泛。 继 OpenAI 推出 ChatGPT 后,微软迅速上线基于 GPT 模型…

OpenAI 利用基于“一致性”的图像生成器超越扩散模型

图像生成领域发展迅速。 尽管 Midjourney 和 Stable Diffusion 等流行工具使用的扩散模型可能看起来是我们所拥有的最好的,但下一个东西总是会出现——OpenAI 可能会用“一致性模型”来解决它,它已经可以完成简单的任务和 数量级比 DALL-E 之类的快。 该…

扩散模型和Transformer梦幻联动!替换U-Net,一举拿下新SOTA!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>扩散模型微信技术交流群 转载自:量子位 “U-Net已死,Transformer成为扩散模型新SOTA了!” 就在ChatGPT占尽AI圈风头时,纽约大学…