微信回调方式说明

一 回调方法定义

控制器中定义回调方法

@GetMapping("callback")
public String callback(String code, String state, HttpSession session) {
    System.out.println("callback被调用");
    System.out.println("code:" + code);
    System.out.println("state:" + state);
    return null;
}

用户点击“确认登录”后,微信服务器会向谷粒学院的业务服务器发起回调,回调地址就是yml中配置的redirecturi。

二 内网穿透

1 开发步骤

步骤:开通并启动内网穿透ngrok > 开放平台配置回调地址 > yml配置

yml配置:

wx:
  open:
    # 微信开放平台 appid
    appId: <微信开放平台 appid>
    # 微信开放平台 appsecret
    appSecret: <微信开放平台 appsecret>
    # 微信开放平台 重定向url(guli.shop需要在微信开放平台配置)
    redirectUri: <微信中你配的回调地址>

注意:yml文件中redirecturi的域名必须和开放平台中应用配置的授权回调域的值完全一致,

但是开放平台上的一个应用只能配置一个回调地址,提供给一个开发者使用。

2 开通方式

ngnok的地址:http://ngrok.cc

开通方式:

3 使用方式

下载客户端,启动客户端

4 原理说明

三 外网服务器跳转

解决多人无法共享回调域设置的问题。

步骤:将跳转程序部署到外网服务器 > 开放平台配置回调地址 > yml配置

跳转程序:部署在guli.shop上

guli.shop服务器的接口可以接收微信的回调请求,将微信回调请求转发到开发者的localhost的8160端口,并传递code和state参数

开放平台配置:

授权回调域一般设置为一个内网穿透地址,例如使用ngrok工具申请一个内网穿透地止

yml配置

wx:
  open:
    # 微信开放平台 appid
    appId: wxed9954c01bb89b47
    # 微信开放平台 appsecret
    appSecret: a7482517235173ddb4083788de60b90e
    # 微信开放平台 重定向url(guli.shop需要在微信开放平台配置)
    redirectUri: http://guli.shop/api/ucenter/wx/callback8160

四 测试回调跳转服务器

访问回调服务器

http://guli.shop/api/ucenter/wx/callback8160?code=1234&state=666

跳转到

http://localhost:8160/api/ucenter/wx/callback?code=1234&state=666

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章