网页授权是什么?

作者: 兴尽晚归舟 | 来源:发表于2016-01-19 18:34 被阅读5478次
微信也是一个浏览器

首先,对于微信开发者来说,把微信称作是一个浏览器是丝毫没有问题的。如果你现在是在使用微信来阅读我现在的这篇文章,那么你就是在把微信当作一个web浏览器来使用,因为这篇文章也是写在一个网页上的。

那么网页授权是什么?话还得从头说起...

在微信上浏览一个网页的时候发生了什么

既然微信是一个浏览器,那么理论上所有的网页,都是可以使用微信来访问的。假如一个公众号运营者想要向自己的用户提供一些网页服务,那么直接把网址链接放在公众号的菜单按钮或者图文推送就可以了。

但是好像少了一点什么...

现在一个铁杆粉丝通过公众号来访问网页,那么问题来了:

开发者:你是谁啊?
用户:你的铁杆粉丝啊!不是说粉丝找你就有小礼物吗?
开发者:你谁啊?凭什么知道你是铁杆粉丝啊?

对,少了一个用户ID.

上一篇文章我们提到过OpenID是一个用户在微信公众号里面的唯一身份标识,那么最合理的解决方案就是使用OpenID来标识用户。最早的解决方案是这样的:

  1. 用户点击公众号菜单
  2. 微信服务器告知开发者:

大哥,有个用户点咱们菜单了,这家伙OpenID是xxxx

  1. 开发者告诉微信服务器:

给他一个url让他访问,顺便把他信息写在url里面

4.用户获得一个带有自己身份信息的定制的url,例如:

www.baidu.com?name=隔壁老王xxxx

5.用户使用定制的url访问网页

开发者:哎呦这是谁啊?来就来呗还带东西!哦原来是老王啊,失敬失敬!来给您一个cookie,下次来不用带东西我都知道是你!

但是这种做法有一些风险,第一是cookie经常会被老王弄丢,第二条就更严重了:甭管是谁,只要通过“www.baidu.com?name=隔壁老王xxxx”这个网址来访问,都会被当成隔壁老王来对待。

那么怎么做才能比较安全呢?总不能让用户再单独注册一个帐号吧?不是说好了 OpenID是唯一标识吗?还要再注册一个帐号来登录?人与人之间最重要的信任呢?

这时候就需要有个东西来解决问题了,我们今天的主角——网页授权.

网页授权正传

网页授权是专门用来解决上述问题的,除此之外,这哥们儿还带来了许多额外的小玩意儿,我们慢慢说来。

首先,网页加载了网页授权之后,用户使用微信来访问网页,交互信息是这样的:

网页授权:大哥,人来访问你的网页了,OpenID是xxxx,你看着办吧!

以上是普通青年模式,文艺青年略有不同,还想要获得用户的更多信息,例如昵称、头像、性别等等,这个时候微信网页授权有点犹豫:

我还是先问问用户吧...

所以,如果开发者想要获得更多的用户信息,则会先跳转到微信的一个页面,这个页面你肯定不陌生,它长这样:

微信授权登录

好,现在如果用户点击了确认登录按钮,网页就可以获得用户的各项公开信息了。

如果开发者想获得用户的更多信息,比如说手机号码、家庭住址、电子邮箱,对不起,这个网页授权帮不上忙。

微信网页开发的更多小玩意儿

除了通过网页授权获取用户信息之外,微信还为前端开发者提供了一些小工具,包括获取用户地理位置、读取用户本地图片或调用摄像头拍照、调用话筒采集声音、获取网络状态、显示或隐藏页面分享按钮、调用微信扫一扫功能、调用微信卡券、微信支付、获取用户页面分享事件等一系列功能。这些被称为JS-SDK。下一篇文章,将会讲述JS-SDK的一些知识。

相关文章

  • 网页授权是什么?

    微信也是一个浏览器 首先,对于微信开发者来说,把微信称作是一个浏览器是丝毫没有问题的。如果你现在是在使用微信来阅读...

  • 网页授权是什么?

    文章来源:[https://www.jianshu.com/p/5b4b009a0864] 感谢作者[兴尽晚归舟]...

  • 网页授权

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

  • 网页授权

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

  • 网页授权

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

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

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

  • 微信H5授权登录

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

  • django: 微信网页授权

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

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

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

  • 微信网页授权基本步骤

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

网友评论

  • 2686c4025e00:你说的跟js-sdk并没有关系,js-sdk不是用来验证用户是谁,是提供web页面访问微信客户端的能力
    兴尽晚归舟:@吴昊199it 是的,你说的很对,按说这篇文章应该叫《网页授权是什么》,我打算最近两天就修正呢,谢谢
  • 槑如是:我点击了上面的JS-SDK Demo 它只是一个静态页面么

本文标题:网页授权是什么?

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