• 【WEB开发】微信网页授权第三方登录接口(WEB登录)


    随着手机微信的崛起,腾讯发布的微信联登确实很诱惑pc端的伙伴们,现在就说说在pc端用微信扫一扫实现微信第三方登陆的方式。(具体代码U盘)

     本文链接至:http://blog.csdn.net/hxker/article/details/50260669

     
    第一步:获取AppID AppSecret(不做解释,自己去微信公众平台申请)

     

    第二步:生成扫描二维码,获取code
    https://open.weixin.qq.com/connect/qrconnect?appid=AppID&redirect_uri=urlencode(https://www.baidu.com)&response_type=code&scope=snsapi_login&state=2014#wechat_redirect

    第三步:通过code获取access_token
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=AppID&secret=AppSecret&code=00294221aeb06261d5966&grant_type=authorization_code
    第四步:因接口频率有次数限制,如果需要,刷新access_token
    https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=AppID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

        第步:通过access_token和openid获取用户的基础信息,包括头像、昵称、性别、地区
    https://api.weixin.qq.com/sns/userinfo?access_token=bezXEiiBSKSxW0eoblIewFNHqAG-PyW9OqI_L81E4ZCi2cFpfoJTyQc0xKlPPCtqK1kLJfiRbVrpoOVLw7fjpqh52bn7C68SHa2HSgYsVPXZPvJvtayDa57-_7TeHYw&openid=o39YsbmuV_bIPGpj1MTe


    这是接口在线调试工具:
    http://mp.weixin.qq.com/debug/
    这是错误码说明文档:
    http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html 
    另外需要特别注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求,文档:
    http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html
     
     
    技术分享:
    第一步:请求CODE

    第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接:
    https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

    若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login。

    参数说明
    参数 是否必须 说明 appid 是 应用唯一标识 redirect_uri 是 重定向地址,需要进行UrlEncode, response_type 是 填code, scope 是 应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可 ,state 否 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
    返回说明

    用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数

    redirect_uri?code=CODE&state=STATE

    若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数

    redirect_uri?state=STATE

    请求示例

    登录一号店网站应用

    https://passport.yhd.com/wechat/login.do

    打开后,一号店会生成state参数,跳转到
    https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpassport.yhd.com%2Fwechat%2Fcallback.do&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect

    微信用户使用微信扫描二维码并且确认登录后,PC端会跳转到

    https://passport.yhd.com/wechat/callback.do?code=CODE&state=3d6be0a4035d839573b04816624a415e

     
     
     
  • 相关阅读:
    flutter资料
    flutter兼论
    Dart 学习
    flutter简易教程
    全球15个顶级技术类博客
    Grunt压缩HTML和CSS
    用grunt搭建自动化的web前端开发环境-完整教程
    正确代码之-grunt
    grunt写一个px和rem互转的工具
    unslider使用方法1
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/8513269.html
Copyright © 2020-2023  润新知