Fork me on GitHub

php 支付宝第三方登陆

   1.  登录支付宝开放平台(蚂蚁金服开放平台)。https://open.alipay.com/

    2.   进入开发者中心,创建应用,并申请应用上线。

    3.   签约-获取会员信息功能。

    4.   设置 授权回调路径 和 接口加签方式(选择RSA2(SHA256)密钥)

        密钥 生成 需要下载支付宝提供的生成工具。         下载工具链接 : https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.iZGFov&treeId=291&articleId=105971&docType=1       

        选择2048,生成后绑定到支付宝开发中心。

    5.   下载支付宝SDK

    https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1

    6.   获取code。

//php 代码

$appid = '你的APPID'; $redirect_uri = urlencode ( '你的回调网址' );

$url ="https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id={$appid}&scope=auth_userinfo&redirect_uri={$redirect_uri}";

header("Location:".$url);

//实例化操作

7.  获取access_token,获取用户信息 1 <?php header("Content-type:text/html;charset=utf-8");

//引入的SDK include "./alipay/AopSdk.php";

include "./alipay/aop/AopClient.php";

include "./alipay/aop/request/AlipaySystemOauthTokenRequest.php";

include "./alipay/aop/request/AlipayUserUserinfoShareRequest.php";

$code = $_GET['auth_code'];

//APPID $appid = '你的APPID';

//私钥  文件名(rsa_private_key.pem) $rsaPrivateKey = "很长的字符串";

//公钥  文件名 (rsa_public_key.pem) $alipayrsaPublicKey = "很长的字符串";

//初始化 $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);

//这里传入 code $result = $aop->execute($request);

$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";

$access_token = $result->$responseNode->access_token;

//获取用户信息 $request_a = new AlipayUserUserinfoShareRequest ();

$result_a = $aop->execute ($request_a,$access_token);

//这里传入获取的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); die;

--------------------- 作者:Foreach_M 来源:CSDN 原文:https://blog.csdn.net/qq_35575940/article/details/64126525 版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2018-12-19 14:01  v_nice  阅读(3819)  评论(1编辑  收藏  举报
1