美文网首页
网页授权

网页授权

作者: 阿泽453 | 来源:发表于2019-04-08 11:52 被阅读0次

关于 OAuth2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。


29310178-5a7a91cc-81df-11e7-9468-b66e150bfba1.png

步骤解释:

(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。

微信 OAuth

在微信里的 OAuth 其实有两种:公众平台网页授权获取用户信息开放平台网页登录

它们的区别有两处,授权地址不同,scope 不同。

  • 公众平台网页授权获取用户信息

    授权 URL: https://open.weixin.qq.com/connect/oauth2/authorize Scopes: snsapi_basesnsapi_userinfo

  • 开放平台网页登录

    授权 URL: https://open.weixin.qq.com/connect/qrconnect Scopes: snsapi_login

他们的逻辑都一样:

  1. 用户尝试访问一个我们的业务页面,例如: /user/profile
  2. 如果用户已经登录,则正常显示该页面
  3. 系统检查当前访问的用户并未登录(从 session 或者其它方式检查),则跳转到跳转到微信授权服务器(上面的两种中一种授权 URL),并告知微信授权服务器我的回调URL(redirect_uri=callback.php),此时用户看到蓝色的授权确认页面(scopesnsapi_base 时不显示)
  4. 用户点击确定完成授权,浏览器跳转到回调URL: callback.php 并带上 code?code=CODE&state=STATE
  5. callback.php 中得到 code 后,通过 code 再次向微信服务器请求得到 网页授权 access_tokenopenid
  6. 你可以选择拿 openid 去请求 API 得到用户信息(可选)
  7. 将用户信息写入 SESSION。
  8. 跳转到第 3 步写入的 target_url 页面(/user/profile)。

逻辑组成

从上面我们所描述的授权流程来看,我们至少有3个页面:

  1. 业务页面,也就是需要授权才能访问的页面。
  2. 发起授权页,此页面其实可以省略,可以做成一个中间件,全局检查未登录就发起授权。
  3. 授权回调页,接收用户授权后的状态,并获取用户信息,写入用户会话状态(SESSION)。

开始之前

在开始之前请一定要记住,先登录公众号后台,找到边栏 “开发” 模块下的 “接口权限”,点击 “网页授权获取用户基本信息” 后面的修改,添加你的网页授权域名。

如果你的授权地址为:http://www.abc.com/xxxxx,那么请填写 www.abc.com,也就是说请填写与网址匹配的域名,前者如果填写 abc.com 是通过不了的。

相关文章

  • 网页授权

    具体而言,网页授权流程分为四步: 1、引导用户进入授权页面同意授权,获取code2、通过code换取网页授权acc...

  • 网页授权

    关于 OAuth2.0OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,...

  • 网页授权

    微信统一授权代码 WEB应用入口

  • 微信公众号easywechat授权问题踩填🕳笔记!

    接口权限-网页服务-网页授权-网页授权获取用户信息-编辑【设置网页授权域名】 正常到这步跳转的应该是url这里却显...

  • 微信H5授权登录

    1、网页授权条件 1.1 设置 登录公众号,开发-接口全县-网页服务-网页账号-网页授权获取用户基本信息 设置...

  • django: 微信网页授权

    微信网页授权基础知识 网页授权的最终目的就是获取微信的用户信息,微信的网页授权方式有两种 snsapi_base:...

  • 微信开发之微信网页授权

    微信网页授权 所谓的微信网页授权说白了就是 用户微信客户端内访问第三方网页,公众号可以根据网页授权这个机制来获取用...

  • 微信网页授权基本步骤

    一、首先在微信公众平台配置授权回调地址(“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本...

  • 微信公众平台开发:通过OAuth2.0方式不弹出授权页面获得用户

    登陆微信公众平台,菜单“设置”→“公众号设置”→功能设置→网页授权域名 【定义】授权回调页面域名:用户在网页授权页...

  • 基于Node.js的微信JS-SDK后端接口实现(三)

    微信公众号开发之五微信网页授权 开始之前建议先阅读微信官方文档 微信公众号开发之五微信网页授权 一.网页授权的作用...

网友评论

      本文标题:网页授权

      本文链接:https://www.haomeiwen.com/subject/zvduiqtx.html