网页授权是什么?
个性八八九九 2022年11月02日发布
头像下载到手机:长按需要下载的头像保存图片到手机
微信也是一个浏览器
首先,对于微信**者来说,把微信称作是一个浏览器是丝毫没有问题的。如果你现在是在使用微信来阅读我现在的这篇文章微儿是谁,那么你就是在把微信当作一个web浏览器来使用,因为这篇文章也是写在一个网页上的。
那么网页授权是什么?话还得从头说起...
在微信上浏览一个网页的时候发生了什么
既然微信是一个浏览器,那么理论上所有的网页,都是可以使用微信来访问的。假如一个公众号**者想要向自己的用户提供一些网页服务,那么直接把网址链接放在公众号的菜单按钮或者图文推送就可以了。
但是好像少了一点什么...
现在一个铁杆粉丝通过公众号来访问网页,那么问题来了:
**者:你是谁啊?
用户:你的铁杆粉丝啊!不是说粉丝找你就有小礼物吗?
**者:你谁啊?凭什么知道你是铁杆粉丝啊?
对,少了一个用户ID.
上一篇文章我们提到过OpenID是一个用户在微信公众号里面的唯一身份标识,那么最合理的解决方案就是使用OpenID来标识用户。最早的解决方案是这样的:
用户点击公众号菜单微信***告知**者:
大哥,有个用户点咱们菜单了,这家伙OpenID是xxxx
**者告诉微信***:
给他一个url让他访问,顺便把他**写在url里面
4.用户获得一个带有自己身份**的定制的url,例如:
隔壁老王xxxx
5.用户使用定制的url访问网页
**者:哎呦这是谁啊?来就来呗还带东西!哦原来是老王啊,失敬失敬!来给您一个cookie微儿是谁,下次来不用带东西我都知道是你!
但是这种做法有一些风险,第一是cookie经常会被老王弄丢,第二条就更严重了:甭管是谁,只要通过“隔壁老王xxxx”这个网址来访问,都会被当成隔壁老王来对待。
那么怎么做才能比较安全呢?总不能让用户再单独注册一个**吧?不是说好了 OpenID是唯一标识吗?还要再注册一个**来登录?人与人之间最重要的信任呢?
这时候就需要有个东西来解决问题了,我们今天的主角——网页授权.
网页授权正传
网页授权是专门用来解决上述问题的,除此之外,这哥们儿还带来了许多额外的小玩意儿,我们慢慢说来。
首先,网页加载了网页授权之后,用户使用微信来访问网页,交互**是这样的:
网页授权:大哥,人来访问你的网页了,OpenID是xxxx,你看着办吧!
以上是普通青年模式,文艺青年略有不同,还想要获得用户的更多**,例如昵称、头像、*别等等,这个时候微信网页授权有点犹豫:
我还是先问问用户吧...
所以,如果**者想要获得更多的用户**,则会先跳转到微信的一个页面,这个页面你肯定不陌生,它长这样:
微信授权登录
好,现在如果用户点击了确认登录按钮,网页就可以获得用户的各项公开**了。
如果**者想获得用户的更多**,比如说手机号码、家庭住址、电子邮箱,对不起,这个网页授权帮不上忙。
微信网页**的更多小玩意儿
除了通过网页授权获取用户**之外,微信还为前端**者提供了一些小工具,包括获取用户地理位置、读取用户*地图片或调用摄像头拍照、调用话筒采集声音、获取网络状态、显示或隐藏页面分享按钮、调用微信扫一扫*能、调用微信卡券、微信支付、获取用户页面分享事件等一系列*能。这些被称为JS-SDK。下一篇文章,将会讲述JS-SDK的一些知识。