支付宝授权登录
一、场景
支付宝小程序登录,获取用户userId
二、注册支付宝开发者账号
1、支付宝开放平台
2、点击右上角–控制台,创建小程序
3、按照步骤完善信息,生成密钥时会用到的工具
4、生成的密钥,要保管好,以后不能找回,只能重新生成
5、右上角可以搜索对应接口文档
三、开发代码
1、pom依赖
<!--支付宝登录--><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java-v3</artifactId><version>3.1.38.ALL</version></dependency>
2、工具类
public class AliLoginUtils {public static Map<String,String> toOpenId(String code) {try {ApiClient defaultClient = Configuration.getDefaultApiClient();defaultClient.setAlipayConfig(getAlipayConfig());// 构造请求参数AlipaySystemOauthApi api = new AlipaySystemOauthApi();AlipaySystemOauthTokenModel data = new AlipaySystemOauthTokenModel();data.setCode(code);data.setGrantType("authorization_code");// 调用接口获取用户信息AlipaySystemOauthTokenResponseModel response = api.token(data);String openId = response.getOpenId();Map<String, String> infoMap = new HashMap<>();infoMap.put("openid",openId);return infoMap;} catch (ApiException e) {throw new RuntimeException(e);}}public static void main(String[] args) {Map<String, String> map = AliLoginUtils.toOpenId("");System.out.println(map);}
3、配置类
import com.alipay.v3.util.model.AlipayConfig;public class AliDataConfigure {public static AlipayConfig getAlipayConfig() {AlipayConfig alipayConfig = new AlipayConfig();alipayConfig.setServerUrl("https://openapi.alipay.com");alipayConfig.setAppId("自己创还能的小城序appId");alipayConfig.setPrivateKey("应用私钥,例如:MIIEvQIBADANB");alipayConfig.setAlipayPublicKey("支付宝公钥,例如:MIIBIjANBg");return alipayConfig;}
}
4、响应示例
后续如果在使用,会继续更新
一个在学习中的开发者,勿喷,欢迎交流