Skip to content
关注公众号,获取新课通知
【重要通知】uniapp实战社区交友交流群更换为:602180461,靓仔/靓女可以重新申请加入哦~

支付宝小程序登录


具体操作看视频教程

下载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');
})