SpringBoot 集成第三方登录(微信、支付宝)
SpringBoot 集成第三方登录
- 微信
- 1. 登录微信开发平台
- 1.在微信开发平台里面获取我们需要的AppID、AppSecret 。
- 2.创建配置类
- 3. 开始自己的业务模块
- 1. 方便测试
- 支付宝
- 1. 登录支付宝开发平台
- 1.在支付宝开发平台里,进入控制台查看自己创建的应用。
- 2. 获取公钥、私钥或者证书模式下获取所需的三个证书
- 2. 导入依赖
- 3. 创建配置类
- 4.业务模块
- 1.创建业务接口
- 2. 创建接口实现类
微信
不了解微信登录过程的可以看一下微信官方文档。
1. 登录微信开发平台
1.在微信开发平台里面获取我们需要的AppID、AppSecret 。
微信开发平台
2.创建配置类
/*** @Author ddz* @ClassName WxAppConfig* @Description* @Date 2021/8/12 14:50* @Version 1.0**/
public class WxAppConfig {/*** appID*/public static String appID = "AppID";/*** AppSecret*/public static String appSecret = "AppSecret";}
3. 开始自己的业务模块
1. 方便测试
支付宝
1. 登录支付宝开发平台
1.在支付宝开发平台里,进入控制台查看自己创建的应用。
支付宝开发平台
获取appid和设置授权回调地址
授权回调地址必须和我们打包时设置的一样,这里我们用测试的链接来测试,在测试的链接后面有个拼接的参数 redirect_uri 必须和设置的一样,不然授权后回调访问不到。
2. 获取公钥、私钥或者证书模式下获取所需的三个证书
这些获取方法在支付宝支付里面有讲到,不知道的可以去看一下获取的流程。
2. 导入依赖
<!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.15.12.ALL</version>
</dependency>
3. 创建配置类
package com.communist.common.config;/**** 支付宝配置* @author Lenovo*/
public class AlipayConfig {/*** 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号*/public static String APP_ID = "APPID";/*** AES 密钥*/public static String ENCRYPT_KEY = "AES加密密钥";/*** 商户私钥,您的PKCS8格式RSA2私钥,这些就是我们刚才设置的*/public static String MERCHANT_PRIVATE_KEY = "应用私钥";/*** 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。,这些就是我们刚才设置的*/public static String ALIPAY_PUBLIC_KEY = "支付宝公钥";/*** 异步通知,再这里我们设计自己的后台代码*/public static String notify_url = "异步回调";/*** 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问*/public static String return_url = "";/*** 支付宝网关*/public static String GATEWAYURL = "https://openapi.alipay.com/gateway.do";/*** 签名方式 固定*/public static String SIGN_TYPE = "RSA2";/*** 字符编码格式 固定*/public static String CHARSET = "utf-8";
}
4.业务模块
1.创建业务接口
/*** 支付宝登录*** @param authCode @return*/Result aliLogin(String authCode) ;
2. 创建接口实现类
/*** 支付宝登录** @param authCode @return*/@Overridepublic Result aliLogin(String authCode) {// 获取AuthCode 等,具体可以获取哪些数据参考支付宝官方接口文档,这里只需要使用auth_codeAssert.isTrue(StrUtil.isNotEmpty(authCode), "auth_code is null");// 构建clientDefaultAlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.GATEWAYURL, AlipayConfig.APP_ID, AlipayConfig.MERCHANT_PRIVATE_KEY, "json", AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGN_TYPE);// 通过authCode获取accessTokenAlipaySystemOauthTokenRequest oauthTokenRequest = new AlipaySystemOauthTokenRequest();oauthTokenRequest.setCode(authCode);oauthTokenRequest.setGrantType("authorization_code");AlipaySystemOauthTokenResponse oauthTokenResponse = alipayClient.certificateExecute(oauthTokenRequest);String accessToken = oauthTokenResponse.getAccessToken();Assert.isTrue(StrUtil.isNotEmpty(accessToken), "接入支付宝登录认证出现错误,无法获取到accessToken");// 根据accessToken获取用户信息AlipayUserInfoShareResponse userInfoResponse = alipayClient.certificateExecute(new AlipayUserInfoShareRequest(), accessToken);Assert.isTrue(userInfoResponse.isSuccess(), "无法获取用户信息!");// userInfoResponse 中有哪些用户信息参考支付宝官方接口文档,这里演示如下几个// 下面判断是否授权过、写自己的业务逻辑return Result.ok();}
SpringBoot 集成第三方登录(微信、支付宝)相关推荐
- 网站集成第三方登录-微信登录
网站集成第三方登录-微信登录 课程介绍 1. 第三方登录引入介绍; 2. 网站微信登录原理(重点);oauth2 3. 网站微信登录具体步骤(重点); 4. 常见疑问解答; 5. 功能实现 ...
- 友盟集成第三方登录--微信、QQ实现
友盟集成了第三方登录,本给我们带来便利,但是文档只描述了集成方式,出现问题,发现还得自己各种baidu,这里总结自己遇到的一些坑,以防下次再踩. 友盟集成第三方微信登录: 友盟集成方案参考:http: ...
- Springboot集成第三方登录(facebook,linkedin,github)
OAuth2.0的第三方登录集成 本文处理方式适用于java服务端REST API 一,了解OAuth2.0 OAuth2.0是一个关于授权(authorization)的开放网络标准,在全世界得到广 ...
- SpringBoot 集成第三方聚合支付 微信、支付宝
SpringBoot 集成第三方聚合支付 1. 创建Spring Boot项目 2. 添加依赖 3. 配置支付宝.微信 4. 实现支付接口 5. 实现支付服务 6. 实现支付回调接口 7. 测试支付 ...
- SpringBoot项目中集成第三方登录功能
SpringBoot项目中集成第三方登录功能 引言 1 环境准备 2 代码实现 3 第三方平台认证申请 4 打包和部署项目 5 第三方平台登录认证测试 6 参考文章 引言 最近想把自己在公众号上介绍过 ...
- 使用cocoaPods一键集成第三方登录(新浪微博,qq,微信)
第三方登录是现在app很常用的功能,而这个功能我已经写过两三次了...每次都写大同小异的代码真的是很痛苦,而且每次都要根据说明去添加那些依赖库,配置linkFlag什么的,完全是体力活,所以一直想把这 ...
- Spring Boot集成第三方登录之微信登录
Spring Boot集成第三方登录之微信登录 准备工作 注册 创建网站应用 网站应用开发指南 授权流程 请求CODE 获取access_token 使用access_token调用接口 获取用户个人 ...
- 【SpringBoot学习】46、SpringBoot 集成 Uniapp 实现微信公众号授权登录
文章目录 一.公众号环境搭建 二.Spring Boot 集成微信公众号 1.application.yml 微信配置 2.控制层接口 三.Uniapp 实现授权登录 一.公众号环境搭建 本篇文章使用 ...
- android 第三方登录界面,Android App集成第三方登录与换肤指南
Android App集成第三方登录与换肤指南 文档编辑 概述 本文主要是介绍了如何通过开源框架快速支持QQ和微信登录,并介绍了如何实现app快速换肤 QQ登录接入 APP要支持QQ登录,需要先到腾讯 ...
最新文章
- 转载 Android 多线程处理之多线程用法大集合
- Java8 Time
- 连接相机无法识别_春节用相机拍照,如何快速发朋友圈?
- android文件读写操作布局文件代码,android实现文件读写功能
- 虚拟机NAT模式下 Host ‘192.168.x.1‘ is not allowed to connect to this MySQL server 问题解决!
- 信息传递(luogu 2661)
- 无法远程xp服务器,五步快速处理在WinXP下IIS无法远程访问的问题
- synchronized 关键字的底层原理
- Java基础之StringBuffer和StringBuilder的区别
- iphone绕过id_破解苹果安卓手机屏幕锁ID锁 极品神器
- 87-分布式前端微信操作
- 2022电商人必备的7大工具推荐
- 大学生创业实战 - 代充的套利故事
- Java 征途:行者的地图(推荐好文)
- ENVI5.3.1 去除影像四周的黑色背景
- 微信小程序之九宫格布局方案
- 微信JS-SDK的PHP demo页面,解决Internal error 500错误
- functional.partial
- 一次HTTP请求的编解码。
- GD32F303的SPI初始化完毕,发送SPI数据后。如果想要改变频率SPEED,必须重新初始化SPI时钟。否则SPI将失效
热门文章
- 从PPT忽悠到越来越落地,大数据产业贵阳先行其他地方政府也要跟上!
- java计算机毕业设计培训中心管理系统源码+系统+数据库+lw文档+mybatis+运行部署
- 银河护卫队高清 hd在线观看
- Dynamics CRM开发 - 注册Plugin 插件
- windows 10 Android SDK下载安装和配置环境
- 用Java语言编写一个答答租车系统
- iOS开发之appCode工具
- 苹果经典提示音_“今天的不开心就止于此吧”,也可以是你的iPhone充电提示音了...
- jumpserver 使用教程_jumpserver的使用
- 机器学习编程作业ex8(matlab/octave实现)-吴恩达coursera 异常检测与推荐系统/协同过滤