On this page
支付宝小程序登录
具体操作看视频教程
下载alipaySdk放于extend目录中: alipaySdk下载地址
控制器层:application\api\v1\User.php
php
//支付宝小程序登录
public function alilogin(){
$code = request()->code;
include_once(__DIR__.'/../../../../extend/alipaySdk/AopSdk.php');
//初始化
$aop = new \AopClient();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = config('api.alipay.appid');
//私钥
$aop->rsaPrivateKey = config('api.alipay.PrivateKey');
//公钥
$aop->alipayrsaPublicKey = config('api.alipay.PublicKey');
$aop->format = 'json';
$aop->charset = 'UTF-8';
$aop->signType = 'RSA2';
//$aop->apiVersion = '1.0';
$request = new \AlipaySystemOauthTokenRequest();
$request->setGrantType("authorization_code");
$request->setCode($code);
$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultData = (array) $result->$responseNode;
//获取用户信息
//$request = new \AlipayUserInfoShareRequest ();
//$result = $aop->execute ($request, $resultData['access_token']);
//$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
//$userData = (array) $result->$responseNode;
//halt($userData);//用户公开信息
// 拿到数据
$req = request();
$req->provider = 'alipay';
$req->openid = $resultData['alipay_user_id'];
$req->expires_in = 1000000;
$user =(new UserModel())->otherlogin();
return self::showResCode('登录成功',$user);
}
配置文件:config/api.php
php
<?php
return [
...
// 支付宝小程序
'alipay'=>[
'appid'=>'2019031963566521',
// 私钥
'PrivateKey'=>'MIIEKCAQEA7SAtBYvoWFid1ZRiEyvzjDY7MUBNf8T6AQnFtpYRegE6RfmxViD9Vtmwe//tEF2NquM6sJABefumswqxqM24aE2iFsr2ebXYzL/RGeM6pKGCqFT/Ori1+BUzQCZqVEGzVmwRbg1vNMwXPTTsgudeCtnSdYccpyQv4oTt3sVCz/MxUINFCtOweQFzolbD2oIExPK7lfPc4msEdg49c8YCrjV+PnFQ5VKmIb786dOj9Io1y6kvp3IHxOIs3hgknXmXgP+zPWB0G8v/jRVad/iCgoDEPyZrCO+/cF0BcFx4yutUVENqJI9qNyMQyu34Vmlg5moUoHr2NmzLhQH9rUtBZQIDAQABAoIBAQCPvmGMazN92rpTLpAFby9EX9uiD4jrW0zyNCpWdMJDY1sf8C1AON9aNrx1br8WnJ+0Z+q7/Y/nklWLU4A/A/Y1xFnt1ztyrHmwJNdtCgISqpW51UyjHDWzHabjzGXIjctZKEmonRw8tTuhLuPwtrCbg0/BTxZfe+BLQKmx0YKe63LPXXqLoAEIyR+wuuHGvDZmFEBXpIznEXBdsk6hJlQPcKX80wExUCbKXKteHV4aNuklTGPnNezl938yjTJVfys7fqwg0mISrgu3i8rVz//stbEe4JLyOlHov9CJZweJon8is0eOJuKr+TyafIpbd0O+7i/pBq687gLX99UKjfxBAoGBAPivu+J8Lgq/HQ2M7kMpSFNkWcrBNZh1+2O00EHq70+9QzMFVEZ8QO1o885V2i9Hc+cIAgiah7tOfUxMUa6FRisoxMtLaR9DQfDhKos7ySl7xUM9W3WH8nduPMK86Wq8g+jvfRD9RRf0JqISyHR6rKyRr5ycwQs+qYsG8AC2WueHAoGBAPQZZ78VVQs5XN6LmNdJamAEDBAzQWHwUCJbxf8e7AHhJENM9Dm0vJxnhxkqpuVre4gCgklBviUatXgQM034igX/6Wg0yQU4HPyXw52iFQUfiynbbaQJNBq6JnlowWfaYFokbJWPveRwyhBbmx9If5IPvcaH9mNd2o3iAnBsJTKzAoGAJHJ1AeObR93snyDJhrRVMkuh0VJxzW91MY69evu4qSIe6CpeyJnLVkAsg1AX0xgQx4pn6eTkAbKmMHl6+y3zM74c4YKi3H8Z+fi2KIPRnq/SIGGsttP+2Dwi0ZOoTglk982pscS8zJ7uzpAcKt4T0pLjfvuGW2SKqqKQqDoRpp8CgYB2Ihlwg71tuiw00/B7OF+P6kWATZ317RyLFEklZ+ymGDS5kXOcvdiOBRh/2IF/BF57e2NcWsHQKTXrzkNWF9OMhcaLFQi4SujUYgpcroVnvlVWQ4izW3To/nACT+1R+oCo/3nBhBhNhzxzYDIZmLeMk6uvejuG6XQNOHUfvWbfOwKBgQCANKL+RBWM4NGkiJaQ9CMKYpKMU8O878DuKgaDjw8eE6bVreoK5rpGPYeVsxt89ttIGg1MB02fLDygQtVo4PhY9D+TIuchQW9axZ1N1rQDnbeIqwlpNQBL0TnPtnDmBbE25033BD5JCS/3miTZ89gMcnFCLhUk587bVKM4tO1CRg==',
// 公钥
'PublicKey'=>'MINBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt/RArwe6fRo8PljuUKUfqhRo8mJWnrNu0s83sOxRAOoR0wHTIz6N/83fpM0nP+NPZ4yNLCfyV8DUeIoudpvblSc1K7rpS5XACABp0MRzds8hG0quhUMdKmS42wosynH/GmhtOvQPYshMBYyBQAx3r5+F8XKK5RqAOfWjjSSr9NM6ipfyoiGEJVo6UXqgJRUjSECdiZfMskkv4QnxPF2Amw5Ns9GOCNABq+yAnE2ibnR8PjQwjmHWYih4pJ3RwcNWP2+vucWbbKytxsmDdbHWWEQHtH/Q22DHFKi/+hekZMB3x9gvCCy5lTMvGx1jHtIzFsfZwGXL4H8Ipgu51/anbQIDAQAB',
]
];
路由层:route\route.php
php
Route::group('api/:v1/',function(){
// 支付宝小程序登录
Route::post('alilogin','api/v1.User/alilogin');
})