我是靠谱客的博主 壮观小熊猫,最近开发中收集的这篇文章主要介绍java微信公众号要求_java实现微信公众号登录,详细的步骤及有关实现代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java实现微信公众号登录,详细的步骤及有关实现代码

碧羽墨轩 2020-04-28【学无止境】125人已围观

简介

openid是微信用户在公众号appid下的唯一用户标识(appid不同,则获取到的openid就不同),可用于永久标记一个用户,同时也是微信JSAPI支付的必传参数。本文就介绍如何获取openid以及用户的基本信息。

1.准备需要的配置参数

① 公众号开发者ID(AppID)(位置:基本配置)

ef1babb59a92ab1b34e85384fb8ad299.png

② 开发者密码(AppSecret)(位置:基本配置)

1d38fa7a9a0e99467fd790ff8cf7150d.png

③ 网页授权域名(位置:公众号设置->功能设置)

497ab2d273f0da626ec3493cb36bfada.png

④ 回调地址redirectUri

只要在设置的授权域名下都行

注意:拿到code与state回调回来的地址

2.代码实现

① 通过后端获取code与state

String appId = AppID;

String redirectUri = URLEncoder.encode(redirectUri, "UTF-8");

String state = "自己生成的标识,验证使用";

String url = WechatConstant.WECHAT_OAUTH_URL + "?appid=" + appId + "&redirect_uri=" + redirectUri + "&response_type=code&scope=snsapi_userinfo&state=" + state + "#wechat_redirect";

response.sendRedirect(url);

② 拿到code与state获取openid以及用户信息

// 省略state验证步骤

String appId = AppID;

String secret = AppSecret;

String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appId +

"&secret=" + secret +

"&code=" + code +

"&grant_type=authorization_code";

String tokenInfoStr = HttpClientUtils.get(url);

if (tokenInfoStr.indexOf("openid") > -1) {

//将access_token转为json

JSONObject tokenInfoObject = new JSONObject(tokenInfoStr);

//通过access_token和openId获取用户信息

String openid = tokenInfoObject.getString("openid");

//将用户信息转为json

String userInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token="

+ tokenInfoObject.getString("access_token")

+ "&openid=" + openid

+ "&lang=zh_CN";

String userInfoStr = HttpClientUtils.get(userInfoUrl);

logger.info("用户信息信息", userInfoStr);

// 用户信息

JSONObject userInfoObject = new JSONObject(userInfoStr);

}

最后

以上就是壮观小熊猫为你收集整理的java微信公众号要求_java实现微信公众号登录,详细的步骤及有关实现代码的全部内容,希望文章能够帮你解决java微信公众号要求_java实现微信公众号登录,详细的步骤及有关实现代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部