没有合适的资源?快使用搜索试试~ 我知道了~
Springboot网站第三方登录 微信登录
5星 · 超过95%的资源 19 下载量 58 浏览量
2020-08-28
14:15:57
上传
评论
收藏 55KB PDF 举报
温馨提示
试读
3页
主要为大家详细介绍了Springboot网站第三方登录 ,微信登录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源推荐
资源详情
资源评论
Springboot网站第三方登录网站第三方登录 微信登录微信登录
主要为大家详细介绍了Springboot网站第三方登录 ,微信登录,具有一定的参考价值,感兴趣的小伙伴们可以
参考一下
微信开放平台接入,官网:https://open.weixin.qq.com,在官网注册并添加应用后即可获得APP_ID和APP_SECRET。
步骤一:步骤一:创建一个继承AuthService的接口,WeChatAuthService,如下
public interface WeChatAuthService extends AuthService {
public JSONObject getUserInfo(String accessToken, String openId);
}
步骤二:步骤二:WeChatService的具体实现如下
@Service
public class WeChatAuthServiceImpl extends DefaultAuthServiceImpl implements WeChatAuthService {
private Logger logger = LoggerFactory.getLogger(WeChatAuthServiceImpl.class);
//请求此地址即跳转到二维码登录界面
private static final String AUTHORIZATION_URL =
"https://open.weixin.qq.com/connect/qrconnect?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s#wechat_redirect";
// 获取用户 openid 和access——toke 的 URL
private static final String ACCESSTOKE_OPENID_URL =
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code";
private static final String REFRESH_TOKEN_URL =
"https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s";
private static final String USER_INFO_URL =
"https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN";
private static final String APP_ID="xxxxxx";
private static final String APP_SECRET="xxxxxx";
private static final String SCOPE = "snsapi_login";
private String callbackUrl = "https://www.xxx.cn/auth/wechat"; //回调域名
@Override
public String getAuthorizationUrl() throws UnsupportedEncodingException {
callbackUrl = URLEncoder.encode(callbackUrl,"utf-8");
String url = String.format(AUTHORIZATION_URL,APP_ID,callbackUrl,SCOPE,System.currentTimeMillis());
return url;
}
@Override
public String getAccessToken(String code) {
String url = String.format(ACCESSTOKE_OPENID_URL,APP_ID,APP_SECRET,code);
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
URI uri = builder.build().encode().toUri();
String resp = getRestTemplate().getForObject(uri, String.class);
logger.error("getAccessToken resp = "+resp);
if(resp.contains("openid")){
JSONObject jsonObject = JSONObject.parseObject(resp);
String access_token = jsonObject.getString("access_token");
String openId = jsonObject.getString("openid");;
JSONObject res = new JSONObject();
res.put("access_token",access_token);
res.put("openId",openId);
res.put("refresh_token",jsonObject.getString("refresh_token"));
return res.toJSONString();
}else{
throw new ServiceException("获取token失败,msg = "+resp);
}
}
//微信接口中,token和openId是一起返回,故此方法不需实现
@Override
public String getOpenId(String accessToken) {
return null;
}
资源评论
- 蟹蛛2023-07-25最后,我想说这份文件对于初学者来说非常友好,讲解得很通俗易懂,对我来说是一次非常愉快的学习经历。
- 王佛伟2023-07-25这篇文件对于使用Springboot实现微信登录的解释非常详细,让我能够快速上手并成功集成。
- 今年也要加油呀2023-07-25文件中对微信登录时可能出现的一些问题给出了解决方法,我在实际使用时遇到了一些困难,这些解决方法对我帮助很大。
- 空城大大叔2023-07-25作者给出的示例代码清晰易懂,让我能够很快地理解整个登录的流程。
- 销号le2023-07-25文件中还提到了一些关于安全性的注意事项,让我能够更好地保护用户账号信息,这点非常值得赞赏。
weixin_38610870
- 粉丝: 1
- 资源: 913
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- scr ubuntu上传
- STM32单片机FPGA毕设电路原理论文报告液晶显示模块与8031单片机的接口电路及编程
- STM32单片机FPGA毕设电路原理论文报告液晶航向指示器接口电路设计
- Pytorch深度学习入门与实战2024
- STM32单片机FPGA毕设电路原理论文报告野战救护车手术台稳定液压系统及其自动控制
- STM32单片机FPGA毕设电路原理论文报告压延机卷取调速装置改造
- STM32单片机FPGA毕设电路原理论文报告形状记忆合金驱动的微电脑密码锁的设计
- HTML小游戏27 - Chuck Chicken 魔法蛋网页游戏源码
- 不同酒度质量分数数据表
- STM32单片机FPGA毕设电路原理论文报告新一代单片机实验教学系统研究与开发
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功