加入酷大航海时代4伙伴加入微信第三方应用需要什么条件

微信第三方登录 - 推酷
微信第三方登录
最近工作需要,运营想实现一个功能,让网站用户可以通过微信进行登录。这在社交媒体如火如荼的今天,再常见不过了。
提到第三方登录的技术范畴,就不得不提OAuth,要说这个OAuth,我就不啰嗦了,还是推荐大家直接看阮老师的
,没错,这个协议已经是2.0版本了!
不是太复杂,对吧?了解了理论姿势,我们再来结合实际场景完成功能,首先要知道,我们的场景不是要自己实现这个OAuth协议,而是根据第三方平台(这里特指微信)来完成我们的需求。
一直没写网站类型的系统,所以一直也没怎么去和常用的第三方系统对接,懒嘛,时间多花在打电动上了……不过其实知道并不复杂,我们来先梳理一下要用到的技术:
ajax(看具体场景了,我所处理的系统需要)
大概就这些吧,前两个基本上是web2.0以后的必备知识,而第三个我们刚才也介绍过了,那么就开始动手吧!
哦~稍等一下,在写代码之前,我们还没看微信接口的规则呢,说到这个,我这个小白就得叮嘱一下大家了,微信平台分2个:
公众号平台
。前者多用来结合公众号后台来完成更加复杂的业务逻辑的,当然也能解决我们今天讨论的这个登录问题,但后者更适合我们!
顺便说一下,要使用微信的接口是要申请的,申请是要审核的,审核是要收费的!目前应该是申请一次300块,申请所需要的手续和申请支付宝差不多,就是一些备案号啊,公司执照啊等等吧,可以访问
目前微信开放平台针对网页提供的就只有用于第三方登录的接口(其实也就是获取用户信息的接口),相关接口文档可以访问
我大概描述一下我们的业务流程走向:
用户登录网站,并进行微信账号绑定;
点击绑定后浏览器跳转到微信鉴权页面,用户完成授权;
微信平台将用户浏览器重定向到我们指定的地址,该地址作用是将当前用户id和该用户微信的openid(或unionid)建立映射关系;
用户再次打算登录网站时,点击微信登录按钮;
浏览器跳转到微信二维码页面,用户扫描确认后,浏览器跳转到我们指定的页面;
该页面根据用户微信的openid查找到对应的网站用户id,并完成session的创建;
引导用户浏览器跳转到网站首页,此时用户应该处于登录状态。
该流程很简单,具体你的项目是使用什么技术栈,都可以根据以上流程完成微信同步登录。有童鞋可能注意到,我们并没有按照官方说的那样去持久化access_token,是的,因为目前我们并没有必要持久化它,更不需要为了避免超时而去续期,因为我们只是一次性获取用户的openid而已。
那什么时候我们需要保存access_token呢?当你的网站除了登录外,还想让更深度的绑定微信账号时才需要(例如支付,当然你可能需要开通微信公众号平台喽~)。
由于我的网站是完全基于ajax的,前后台仅仅靠api来通信,所以和微信官方的例子还不完全一样,下面我来说一下这种场景下的注意细节。
请允许我先介绍一下我的场景:
富客户端,前台完全负责页面的路由
所有前后端通信按照Restful标准
会话id使用自定义请求头(token)来进行传递
满足以上条件的系统,通常是使用了像angularjs,emberjs或reactjs等前端mv*框架技术的。
出于各种原因,我们上面描述的流程中,有一些是被影响的。我们来具体说说吧~
首先看第2步(点击绑定后浏览器跳转到微信鉴权页面,用户完成授权),由于这次浏览器跳转会将控制权交给微信平台,我们的前台路由不能插手,所以呢,我们需要传递足够的参数过去。微信接口提供了一个参数state,刚好可以让我们来使用,因为该参数微信会原样返回给我们指定的回调页面,为什么这一点很重要呢?
第3步(微信平台将用户浏览器重定向到我们指定的地址,该地址作用是将当前用户id和该用户微信的openid(或unionid)建立映射关系)中,其实我们省略了一个子流程,根据OAuth规范,微信回调到我们的指定地址后,只传递了Code,而这个Code并不能用来换取用户的openid,我们还需要在该地址的处理逻辑中再次请求微信平台换取access_token,这次请求要携带一个appsecret参数,该参数不应当泄漏给其他人,所以注定我们的这个地址是一个不在客户浏览器中执行的脚本,也就是通俗的后台代码(可以是php,是java,是nodejs)。
所以呢,当我们的这个后台脚本顺利拿到了用户的openid后呢,它又该怎么知道用户的系统id呢?有人说很简单啊,直接读取cookie即可,我前面说了,我们没有使用cookie来存sessionid,我们使用的是自定义请求头,而微信回跳时肯定是不会携带我们自定义的请求头的,所以前面说的那个state参数就很有意义哒。
同样,我们持久化用户的系统id和openid是需要使用数据库的,你当然不会希望将数据库密码放在前台代码里吧?哇哈哈~~别告诉我你是这么做的!因此,微信回调的地址一定是后台脚本~
同理,第6步依然是一个后台脚本,它创建好会话id后,需要将用户的浏览器重定向到前台系统页面,相当于把控制权交还给了我们的前台系统。接下来就是在我们的富客户端路由控制下完成用户的页面路由了。
还有一个细节,用户绑定过微信账号后,你网站的某个页面肯定还要展示这种绑定关系,之所以提这点,是想让你知道,用户系统id和openid的关系映射方式还是需要斟酌一下的,因为我们需要两种方向的查找:
uid -& openid:用于绑定
openid -& uid:用于登录
如果你使用的是nosql(redis),你可能需要两组kv才能存下这两组数据。同时,你可能还需要考虑其他平台的账号绑定~~所以,你还是先好好考虑考虑吧~
实际开发时你还需要考虑到足够多的异常系处理,毕竟在整个流程中存在多次跳转,多次查询,要考虑每次的出错场景。不说了,说多了都是泪!
稍后,我会把自己写的nodejs版本代码放到github上,敬请期待。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致在10个鸡蛋上坐了3星期后,终于成功孵化出第一颗鸡蛋。
但礼仪小姐、导购小姐依然是场内的一道风景线。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  昨天深圳推谷互动写了一些关于微信官网的教程()之后大受欢迎,很多人都通过网站联系我说教程有一些地方不明白,可能是由于大家基础不一样,起点不一样,所以一些对本人来说比较简单的事情相对于一些新手来说还是比较难明白的,今天开始我每天会写一些微信的相关设置教程,以一个专题的形式来给大家说明白。
  今天的教程比较简单,就是在申请了微信公众号之后该如何操作使用。
  准备资料:
  微信公众号:未认证的订阅号功能有限制,建议使用微信官网提供的菜单栏功能即可,本教程建议使用已经认证过的微信来操作。
  第三方平台:无论你使用的是哪个微信第三方平台,接入的方式都是一样的,主要是或者第三方平台的API,和微信官网的AppID(应用ID)和AppSecret(应用密钥),本教程使用的第三方平台为()。
  首先登录云微信平台:
  1、注册账号;
  2、注册之后登录账号:
  3、登录会员中心之后看到左侧导航有一个“添加公众账号”按钮,点击添加公众号
  4、看到添加微信号需要的内容,这些都可以在微信官网这里获得的,圈出来的为必填的,填了之后而且不能更改,没有圈出来的也需要填,这样才能接入权限,但是可以暂时不填,本教程会一次过填完资料。
  5、登录微信官网平台,并且登录你的微信账号
  点了公众号设置之后,你会看到右边有名称、微信号、原始ID 这三种。
  6、然后再点”开发者中心“
  按照箭头所指,把接口“启用”,并且把AppID(应用ID)和AppSecret(应用密钥)找出来。
  6、然后回到云微信营销平台
  按照上面找的资料填写上去,微信类型按照你自己的来选择,APPID(服务窗)这个不用填,直接保存即可。
  7、添加之后把API接口连接照出来
  复制已上连个数据,返回微信官网-开发者中心
  点一下保存,然后可以完成接入了,以后需要什么功能都是在第三方平台管理,但是群发信息还是在微信官网上设置。
  今天接入第三方管理平台教程就到这里,大家有问题可以加我微信教程:tony_idc,明天还会继续出新的教程,欢迎大家关注我的搜狐自媒体“推谷互动”,如果大家有东西需要分享的,也可以联系我哦!
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
深圳推谷互动网络科技有限公司提供行业内资讯,网络推广以及I...
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:}

我要回帖

更多关于 海贼王伙伴加入时间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信