支付寶授權登錄
一、場景
支付寶小程序登錄,獲取用戶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、響應示例
后續如果在使用,會繼續更新
一個在學習中的開發者,勿噴,歡迎交流