微信第三方登陆 实现设计思路

2018-11-08 18:10:22 +08:00
 Kcelone

这两天在做利用微信第三方登陆应用网站的接口,查了下资料,说的还是蛮详细的,总结一下。

  1. 进行开发的相关文档基本都在这里: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432,建议大概看下,可以了解到,微信没有提供免费的沙箱环境以供调试本地三方登陆网站。测试号那个也没有提供二维码登陆的调试功能,所以没必要像我再走弯路。

  2. 开发流程开始:

    1. 根据网站应用注册可以获取到 app_id 和 app_secret,这个是在开放平台注册应用时获取到的。

    2. https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 根据这个 url 格式,填写 url 中的各个参数,其中 scope 为 snsapi_login,state 是个随机字符串,可以使用时间,session 等进行加密生成的字符串。

    3. 跳转认证成功之后,会跳转到你的回调地址,你的 url 会多了一个参数 code (前提是参数:response_type=code ),我们需要拿到这个 code 换取网页授权 access_token,https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

    4. 认证后,会返回一个 json,包括 open_id 等信息。可以通过 open_id 获取用户信息,最后就是拿到 json 中的 access_token 和 openid 去获取用户的微信信息数据了。

    网上有很多相关的资料,可以多查查,少走弯路就是提高了效率, 欢迎加群号:902788038 这里有一群可以一起奋斗的小伙伴,也有阅人无数的 HR 小姐姐,希望可以在这里可以收获成长,并找到心仪工作。

3858 次点击
所在节点    Python
14 条回复
pricelessLucky
2018-11-08 18:45:58 +08:00
点开这个帖子之前,我还以为楼主说的会是利用 web 微信的二维码登录呢……
cdwyd
2018-11-08 18:49:40 +08:00
我也以为是另辟蹊径的那种登录
zhaishunqi
2018-11-08 19:06:45 +08:00
骚年,慢慢的你会发现,很多坑.
johnniang
2018-11-08 19:15:03 +08:00
@zhaishunqi 对。后面坑得我五体投地。
lsido
2018-11-08 20:28:42 +08:00
哎,要是有手机的就好了
lolizeppelin
2018-11-08 21:03:49 +08:00
楼上两位坑都踩光了么
tabzjh
2018-11-08 21:15:38 +08:00
还有内外网问题,当时我可是惨了
chinvo
2018-11-08 22:45:10 +08:00
能用别人做好的库就别自己写,坑太多
Kcelone
2018-11-09 10:28:03 +08:00
@pricelessLucky 好像说的就是的吧
Kcelone
2018-11-09 10:28:32 +08:00
@lsido 移动端的开发也在日程中了
Kcelone
2018-11-09 10:29:06 +08:00
@tabzjh 内外网,我用的是 natapp,网上教程很多,可以试试。
pricelessLucky
2018-11-09 17:03:46 +08:00
@Kcelone 不一样,我说的不需要 app_id、app_secret
d5
2018-11-10 18:39:41 +08:00
小程序出来后就没碰微信开发了,贴一下常规外的方案:

可以用认证服务号的参数二维码
可以被动获得 openid/unionid
valueOne
2018-11-12 13:46:11 +08:00
當初坑太多,然後就改用現成的了,要求不高,能用就行啦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/505870

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX