网站应用微信扫码授权登录并绑定手机号
2023-12-29 19:27:56
微信官网开发流程网址:
做之前需要在微信开放平台注册账号添加网站应用,绑定跳转域名地址。获取网站应用appid和密钥.
java相关代码:
#根据前端传的code查询openid获取用户信息
//网站微信授权登录获取access_token地址
private static final String PC_WX__SC_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/access_token";
@Transactional(rollbackFor = Exception.class)
@Override
public ReceptionUser pcWxScLogin(ReceptionUser receptionUser) {
String openid = null;
ReceptionUser setUser = new ReceptionUser();
try{
String url = PC_WX__SC_ACCESS_TOKEN_URL
+"?appid="+webAppId
+"&secret="+webAppSecret
+"&code="+receptionUser.getCode()+"&grant_type=authorization_code";
String result = HttpUtils.sendGet(url);
if (StrUtil.isNotBlank(result)){
JSONObject jsonObjectResult = JSON.parseObject(result);
if (jsonObjectResult != null && jsonObjectResult.size() > 0){
//获取openid
openid = jsonObjectResult.getString("openid");
}
}
}catch (Exception e){
e.printStackTrace();
throw new ServiceException("微信扫码授权失败");
}
if (StrUtil.isBlank(openid)){
throw new ServiceException("微信扫码授权失败");
}
//查询是否存在该openID的用户
ReceptionUser user = receptionUserMapper.selectOne(new LambdaQueryWrapper<ReceptionUser>()
.eq(ReceptionUser::getWebAppUserOpenId,openid));
if (user != null){
return user;
}else{
//不存在的时候直接返回openid
setUser.setWebAppUserOpenId(openid);
return setUser;
}
}
#绑定手机号省略。绑定手机号的同时保存openid。
文章来源:https://blog.csdn.net/weixin_40444253/article/details/135295616
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!