首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
华为云
V2EX  ›  Python

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

  •  
  •   Kcelone · 7 天前 · 950 次点击

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

    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 小姐姐,希望可以在这里可以收获成长,并找到心仪工作。

    14 回复  |  直到 2018-11-12 13:46:11 +08:00
        1
    pricelessLucky   7 天前
    点开这个帖子之前,我还以为楼主说的会是利用 web 微信的二维码登录呢……
        2
    cdwyd   7 天前
    我也以为是另辟蹊径的那种登录
        3
    zhaishunqi   7 天前
    骚年,慢慢的你会发现,很多坑.
        4
    johnniang   7 天前 via Android
    @zhaishunqi 对。后面坑得我五体投地。
        5
    lsido   7 天前 via Android
    哎,要是有手机的就好了
        6
    lolizeppelin   7 天前 via Android
    楼上两位坑都踩光了么
        7
    tabzjh   7 天前
    还有内外网问题,当时我可是惨了
        8
    chinvo   7 天前 via iPhone
    能用别人做好的库就别自己写,坑太多
        9
    Kcelone   7 天前
    @pricelessLucky 好像说的就是的吧
        10
    Kcelone   7 天前
    @lsido 移动端的开发也在日程中了
        11
    Kcelone   7 天前
    @tabzjh 内外网,我用的是 natapp,网上教程很多,可以试试。
        12
    pricelessLucky   7 天前
    @Kcelone 不一样,我说的不需要 app_id、app_secret
        13
    d5   5 天前 via iPhone
    小程序出来后就没碰微信开发了,贴一下常规外的方案:

    可以用认证服务号的参数二维码
    可以被动获得 openid/unionid
        14
    valueOne   4 天前
    當初坑太多,然後就改用現成的了,要求不高,能用就行啦
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3189 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 09:51 · PVG 17:51 · LAX 01:51 · JFK 04:51
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1