PC端网站的微信登录,首先要开通微信开放平台,跟微信公众号开发所需微信公众平台意思差不多。百度搜索微信开放平台,点击官网即可。
一.微信开放平台
这个平台的重点就是AppID、AppSecret和回调域名,后续用的到。
二.微信登录
这个是微信登录的官方文档。可以参考一下。微信登录官方文档
1.前端页面操作
调用微信扫码登录的地址
https://open.weixin.qq.com/connect/qrconnect?appid=appid&redirect_uri=redirect_uri&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect
把参数填上,直接在地址栏放上去这个链接,就可以测试微信登录。
appid是上面提到在开放平台里的,redirect_uri是回调域名,也就是当用户点击同意(同意登录)后,去访问的地址。
简单来说开放平台的回调域名填你这个网址就行(不能有http://)。但是这里的参数的格式是 : 回调域名+接口。当用户点击同意时,直接访问你的接口,在接口里就可以获取code码,在通过code码或去tocken,获取用户信息等。
2.后台代码
public static void getAccessToken(String code) {
String APPID = "";
String secret = "";
String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + APPID + "&secret=" + secret + "&code=" + code + "&grant_type=authorization_code";
String result = OkHttpClientUtil.getInstance().doGet(url);
String access_token = JSON
.parseObject(result).getString("access_token");
String openid = JSON
.parseObject(result).getString("openid");
}
//微信网页授权地址
private String getWechatCodeUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?" +
"appid=[APPID]&" + //微信appid
"redirect_uri=[REDIRECT_URI]&" + //获取网页授权后,微信重定向地址
"response_type=code&" +
"scope=snsapi_userinfo&" + //授权方式
"state=STATE#wechat_redirect";
//微信授权后返回的地址
private String getCodeUrl = "http://tangshan.huodei.net" +
"redirect/code?redirect_url=";
//获取微信用户基本信息的接口地址
private String getWechatUserUrl = "https://api.weixin.qq.com/sns/userinfo?" +
"access_token=[ACCESS_TOKEN]&" + //获取到的 access_token
"openid=[OPENID]&" + //公众号的 openid
"lang=zh_CN";
//获取access_token的接口地址,这里还可以获取到openid
private String getAccessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?" +
"appid=[APPID]&" + //微信的appid
"secret=[SECRET]&" + //微信的secret
"code=[CODE]&" + //重定向后微信携带的code参数
"grant_type=authorization_code";
3.在这个接口内获取完所有需要的信息后,跳转页面。拼接一个首页地址或者其他页面地址就行。
本人小白,各位大佬若有意见或建议,还请批评指正。大家可以在评论区留言,大家互相探讨。