zoukankan      html  css  js  c++  java
  • 微信订阅号里实现oauth授权登录,并获取用户信息 (完整篇)

    摘要 这段时间一直有人问我,订阅号实现的oauth授权登录的问题,之前写的比较简单,很多人不明白。众所周知,微信公众号分订阅号、服务号、企业号;每个号的用途不一样,接口开放程度也不一样。微信还有个扯淡的开放平台,号称统一管理众多公众号的。反正都是交钱的功能多,两个平台把我弄得傻傻分不清楚。切入正题,上个公司有个微信订阅号,内嵌了一个微网站,并且要实现授权登录。

        前段时间一直有人问我有关订阅号实现的oauth授权登录的问题,之前一篇写的比较简单,很多人不明白。

    众所周知,微信公众号分订阅号、服务号、企业号;每个号的用途不一样,接口开放程度也不一样。

    微信还有个扯淡的开放平台,号称统一管理众多公众号的。反正都是交钱的功能多,两个平台把我弄得傻傻分不清楚。

    切入正题,上上个公司有个微信订阅号,内嵌了一个微网站,并且要实现授权登录。

    这个授权登录的接口只有认证的服务号才能调用,订阅号要实现这个功能只能另辟蹊径;

    这个是微信公众号的api地址

    http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

    .这个是开放平台的api地址

    https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

    需要在开放平台交300元认证费开通相关功能,并创建网站应用,等待通过

    如果直接使用开放平台的微信登录功能,只能出现基于二维码的扫一扫页面,并且只适用于pc端的微信登录。

    开放平台官方提供的认证地址是:

    https://open.weixin.qq.com/connect/qrconnect?……

    他会生成一个二维码需要微信扫描登陆后获取信息,这和微信内自登陆相差太远

    经过不断的摸索,发现一个小捷径:即更换上面的认证地址为:https://open.weixin.qq.com/connect/oauth2/authorize?……

    目前这个方法微信没写入开放平台的官方文档,但是却可以实现订阅号的微信内自登陆,不过和服务号的OAuth不同的是,这种方式是登陆操作(snsapi_login必须只能设置成这个),不是直接的获取操作(snsapi_base,snsapi_userinfo)

  • 相关阅读:
    JVM基础和调优(一)
    Jtree(节点的渲染+资源管理器)(2)
    Jtree (节点的渲染+资源管理器)
    jtree(选择框)
    java进阶计划
    SQL优化
    spring 事务管理
    Spring事务配置的五种方式(转)
    spring与数据库之间的配置
    struct2(六) 为表单添加验证
  • 原文地址:https://www.cnblogs.com/qdlixuecai/p/5533660.html
Copyright © 2011-2022 走看看