zoukankan      html  css  js  c++  java
  • 微信第三方平台授权流程

    1,获取第三方平台access_token  

    http请求方式: POST(请使用https协议) 
    https://api.weixin.qq.com/cgi-bin/component/api_component_token

    POST数据示例:

    {
    "component_appid":"appid_value" ,
    "component_appsecret": "appsecret_value", 
    "component_verify_ticket": "ticket_value" 
    }

       

    请求参数说明

    参数说明
    component_appid 第三方平台appid
    component_appsecret 第三方平台appsecret
    component_verify_ticket 微信后台推送的ticket,此ticket会定时推送,具体请见本页末尾的推送说明

    返回结果示例

    {
    "component_access_token":"61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA", 
    "expires_in":7200
    }

       

    结果参数说明

    参数说明
    component_access_token 第三方平台access_token
    expires_in 有效期



     

    2,获取预授权码 

    http请求方式: POST(请使用https协议)

    https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=xxx

    POST数据示例:

    {
    "component_appid":"appid_value" 
    }
       

    请求参数说明

    参数说明
    component_appid 第三方平台方appid

    返回结果示例

    {
    "pre_auth_code":"Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw",
    "expires_in":600
    }

       

    结果参数说明

    参数说明
    pre_auth_code 预授权码
    expires_in 有效期,为20分钟


     

    3,引导进入授权页面

    在任何一个html或者jsp页面,加一个按钮,按钮的响应地址为:

    https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx
    该网址中第三方平台方需要提供第三方平台方appid、预授权码和回调URI

     

    4,授权后回调URI,得到授权码和过期时间

    授权流程完成后,会进入回调URI,并在URL参数中返回授权码和过期时间(redirect_url?auth_code=xxx&expires_in=600)

     

    5,使用授权码换取公众号的授权信息

    接口调用请求说明

    http请求方式: POST(请使用https协议)

    https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=xxxx

    POST数据示例:

    {
    "component_appid":"appid_value" ,
    " authorization_code": "auth_code_value"
    }

       

    请求参数说明

    参数说明
    component_appid 第三方平台appid
    authorization_code 授权code,会在授权成功时返回给第三方平台,详见第三方平台授权流程说明

    返回结果示例


    "authorization_info": {
    "authorizer_appid": "wxf8b4f85f3a794e77", 
    "authorizer_access_token": "QXjUqNqfYVH0yBE1iI_7vuN_9gQbpjfK7hYwJ3P7xOa88a89-Aga5x1NMYJyB8G2yKt1KCl0nPC3W9GJzw0Zzq_dBxc8pxIGUNi_bFes0qM", 
    "expires_in": 7200, 
    "authorizer_refresh_token": "dTo-YCXPL4llX-u1W1pPpnp8Hgm4wpJtlR6iV0doKdY", 
    "func_info": [
    {
    "funcscope_category": {
    "id": 1
    }
    }, 
    {
    "funcscope_category": {
    "id": 2
    }
    }, 
    {
    "funcscope_category": {
    "id": 3
    }
    }
    ]
    }

       

    结果参数说明

    参数说明
    authorization_info 授权信息
    authorizer_appid 授权方appid
    authorizer_access_token 授权方令牌(在授权的公众号具备API权限时,才有此返回值)
    expires_in 有效期(在授权的公众号具备API权限时,才有此返回值)
    authorizer_refresh_token 刷新令牌(在授权的公众号具备API权限时,才有此返回值),刷新令牌主要用于公众号第三方平台获取和刷新已授权用户的access_token,只会在授权时刻提供,请妥善保存。 一旦丢失,只能让用户重新授权,才能再次拿到新的刷新令牌
    func_info 公众号授权给开发者的权限集列表(请注意,当出现用户已经将消息与菜单权限集授权给了某个第三方,再授权给另一个第三方时,由于该权限集是互斥的,后一个第三方的授权将去除此权限集,开发者可以在返回的func_info信息中验证这一点,避免信息遗漏),1到8分别代表:
    消息与菜单权限集
    用户管理权限集
    帐号管理权限集
    网页授权权限集
    微信小店权限集
    多客服权限集
    业务通知权限集
    微信卡券权限集
               
  • 相关阅读:
    能打开电脑都看懂的系列之Windows下修改MongoDB用户密码
    vue element el-input 输入框当内容长度超出时显示el-tooltip提示
    vue 数据代理帮助类 ux-data-proxy
    微信小程序全局设置分享内容
    解决vscode更新后Ext Js插件无法使用问题
    ux.form.field.Year 只能选年的时间扩展
    ux.form.field.Month 只能选年、月的时间扩展
    Ext Js 6+ 动态切换皮肤
    Ext Js 6.2.1 classic grid 滚动条bug解决方案
    Ext-JS-Modern-Demo 面向移动端示例
  • 原文地址:https://www.cnblogs.com/ddzzhh/p/10622965.html
Copyright © 2011-2022 走看看