支付宝公众号授权获取用户信息

1.第一步在蚂蚁开放平台注册申请应用上线

2.下载支付宝秘钥生成器,生成秘钥(加在代码里面)和公钥(填写到蚂蚁开放平台)下载sdk放到extend文件夹里面

3.引用SDK

//头部加上
use think\Loader;
header("Content-type:text/html;charset=utf-8");
Loader::import('alipay.AopSdk', EXTEND_PATH);

4.访问方法拼写授权地址

$encoded_url = 回调地址;
$appid = APPID;
$code_url = "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=$appid&scope=auth_user&redirect_uri=".urlencode($encoded_url);//获取auth_code
$this->redirect($code_url);

5.获取用户信息

$code = $_GET['auth_code'];
        //APPID
        $appid = '2018092761533618';
        //应用私钥  文件名(rsa_private_key.pem)
        $rsaPrivateKey = "MIIEowIBAAKCAQEAtS+kh5w5YLKh9AxsVxeUP7x6/Ty2glEDi1hk2KbOhkxEVnXk22mGE+CPCSAIc36JjK+Dbj+3cMwphlkXMkmjPd/KXQKcOOcrQxqg1CnJEaW5VO5oFv8e87lyFCDyyPCvr3+0ARlY6F6mcMZVijpZfo14HNdMDq7bzYwianwVqyh8H35ZnNJwVIuXddF3d37dORnUSBJR2GV0GYaWwBSHCHgsVTjuZZRLeLhM9unrPGhQSyOVY9SL699qZDbcFx/4EVdSivecbqcZPC+2X2CqUGnHqkNYLLDg6GXNOr4cUtj6YpCXfX0bZOHu4iyfMkPMYpF665CU0bjh8TTtZA3pzwIDAQABAoIBABzJEO6ql0MRnkFTp/K+QENQAooxFx3lGRcOWBdDiRQ1EbZazJ0/Spnl11OvzyfqNpgvWkYtwUseZIp/pPvMTy8JWvEj9QXlVC45EMwkR1mSZrtjlQ3yQkyebc1c3rWl54OOWl7CVCm2v+Ky3+wyEP3WI/sRCXhbt3gUh3M7e4XRiCdkp2zDGtXPvv/j6+27WZZX8aTQkxvDIvabWmtXQe2ubIx8MWevG2ozexh7cTVvwHdRyQ6oLautdw5aHcYte0w36PuLjM6+QvG6rRCymzrxbqSyIREsYLcZDMG+8AiKdFtokZ0Adj9xR/vUVRBoFT21kh5cJhS7Vi0dkYt7suECgYEA6ABkG3JGU2jwSHf89gzYbcAUPeAZGc7LkPF6Fkd+DYaYYQr2QK60NcvsBLjplCOfBVkdaMtxrjmpl7HpkaJxqFUd7qoxJFofDIVrN4CXKhcj9rLJIM3zEYOpYk7TXWysjLXYmBJDnH7izqzWbJxkGOM+NspEe936Yry5UXKAVvMCgYEAx+2dEyc9WJhXO1SyraHwgh4DIQ7p+hHnz3Gnkk3dDq2hYvg4Tjiuo0OXu4HMkUwZsdcep1Kgha2b8IAdlsRDRcKi41m69COaAYCi4+OdPvsZt6ORSOSn7jB4RBqKnauYZHuFnk+JqvXwx/Z8CiVvDVfqufPnLnf8xy9G1EVp0LUCgYEApqcpQgH7fI0kFZqDjqe5jFTu9WeWAFDpL8wWfAyNAuBNc2AxdlNIxmAewWGnAC/6WhgipRWHKrTnGz3E30WGSXojDz8YH9nQ9eidFPh9HdITlnHlQnhOg6VFNoYTFMgsxsMVvF9aS/9lozrKqKhKywnptefj++p/ow+YO2Z5xHsCgYA9xyvBTl/Db5eM6tgnlSG3Y0S+Q1iDgGLsFAeeytajAX4cEe18JkG4i1togmxO/X/3Fy0OsRaPGB1WjJAYFV9gQAuLSx/c7t9Y1YH//0aIvpisyStMpfNKQ8n16Wmp3OtDKXQZfiRhIowbjgu4KucM7XzHpxlpn4QJnI87apOO/QKBgFqhHqaUhAUEsHaXhBY9WyMhC0FS7d42rkVOcnrRXP3ZN4Erg6XIId+BmKmifZDySDFFqfTm3QWH8QpP5WSPc8sOZuawaxuqOLGtTaNp9ycl42akDUSYjXHP9addVQgkYfhLPM6NTGTMQfF8ITeo9io4ayEBlFstJtzYBKBVZbc2";
        //支付宝公钥  文件名 (rsa_public_key.pem)
        $alipayrsaPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2AjPQRTsPBjgthS41/qotxSbsCFItiFZ+j1lZUy7WlI+DdM4H+KKRJFYY3IjD2ouWYKTbFadmvxit/X+v+1gGYc/L67IGX0jO9N9JMvRANQNarEtHCON5SWPu0vQ40vIaVHRDG5fKXBzczTnAi4To7kzE+AAg283HbPGuuwtKPhee1KkmOHrHhTzfrdyiyHwOHX379GlHggdkEGz+PO0YQkpGeBuKYFwnU9yQRjqCn2DRnLC7V2huMG9IgEF8A9uodQUnBo4CdlD+wIPhK262bkOkKj6cI71MxQNSMp41JbPEB4Edb2p17vLcWL5aHy7xlKDjpAxYle1t0n6/1UUNwIDAQAB";
        //初始化
        $aop = new \AopClient ();
        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
        $aop->appId = $appid;
        $aop->rsaPrivateKey = $rsaPrivateKey;
        $aop->alipayrsaPublicKey = $alipayrsaPublicKey;
        $aop->apiVersion = '1.0';
        $aop->signType = 'RSA2';
        $aop->postCharset='UTF-8';
        $aop->format='json';
        //获取access_token
        $request = new \AlipaySystemOauthTokenRequest();
        $request->setGrantType("authorization_code");
        $request->setCode($code);
        $result = $aop->execute($request);
        $access_token = $result->alipay_system_oauth_token_response->access_token;
        //获取用户信息
        $request_a = new \AlipayUserinfoShareRequest();
        $result_a = $aop->execute ($request_a,'authusrB4d426f65fc0f4a1299ac3e6cc48ffX00');
        //这里传入获取的access_token
        $responseNode_a = str_replace(".", "_", $request_a->getApiMethodName()) . "_response";
        $user_id = $result_a->$responseNode_a->user_id;
        //用户唯一id
        $headimgurl = $result_a->$responseNode_a->avatar;
        //用户头像
        $nick_name = $result_a->$responseNode_a->nick_name;
        //用户昵称
        var_dump($user_id);
        var_dump($headimgurl);
        var_dump($nick_name);
        var_dump($result_a->$responseNode_a);
        die;

猜你喜欢

转载自www.cnblogs.com/notesbooks/p/9728966.html