如何使用沙箱测试用户信息授权(php版)

简介: 说明:   用户信息授权主要是为了获取支付宝用户ID(USER_ID)、授权令牌(access_token),便于开发者处理自身业务逻   辑的时候使用。   测试环境:Apache2.4.23 +php 5.

说明: 
  用户信息授权主要是为了获取支付宝用户ID(USER_ID)、授权令牌(access_token),便于开发者处理自身业务逻 
  辑的时候使用。 
  测试环境:Apache2.4.23 +php 5.6.25 
  开发文档地址:【查看】 
  服务端SDK地址:【下载】 
  如何判断自己使用的接口需要签约:[url]https://openclub.alipay.com/read.php?tid=1793&fid=46[/url]

支持授权方式: 
  PC端授权和H5授权页面授权(H5只支持在使用支付宝钱包进行授权) 

参数解读: 
  1.scope说明:[url]https://openclub.alipay.com/read.php?tid=1795&fid=43[/url]
  2.redirect_uri说明: 
    1)URLENCODE转义 的url链接(url必须以http或者https开头) 
    2)授权回调地址,一定要配置(如下图)的值 

测试流程: 
  1.用户信息授权URL拼接 
   注意:正式环境请修改网关去掉链接中的dev 

[url]https://openauth.alipaydev.com/oauth2/publicAppAuthorize.htm?app_id=[/url]填写沙箱的appid&scope=auth_user&redirect_uri=填写授权回调地址

  2.获取auth_code 
    1)访问浏览器访问拼接授权URL 

    2)选择授权 

    3)授权成功跳转回调页面,查看授权地址栏返回信息获取auth_code,选择复制 

    注意: 
      auth_code:临时授权码,一次性有效,同时若超过有效期未使用,则会失效。 
      有效期目前至少为5分钟,最长为24小时。 
     4)放到如下代码中(使用auth_code换取接口access_token及用户userId): 
    

<?php
//第一步拼接授权链接.注意scope=auth_user的值一定要为auth_user 传别的值会报错无效授权令牌
//https://openauth.alipaydev.com/oauth2/publicAppAuthorize.htm?app_id=2016072800109035&scope=auth_user&redirect_uri=https%3A%2F%2Fwww.alipay.com
require_once 'AopSdk.php';
$aop = new AopClient();
$aop->appId = '填写你的沙箱appid';
$aop->rsaPrivateKey = '填写您的原始私钥';
$aop->alipayrsaPublicKey='填写您的支付宝公钥';
$aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';
$aop->apiVersion = '1.0';
$aop->postCharset='utf-8';
$aop->format='json';
$aop->signType = 'RSA2';
//第二步使用auth_code换取接口access_token及用户userId
$request = new AlipaySystemOauthTokenRequest();
//请求的必传信息
$request->setGrantType("authorization_code");
$request->setCode("4cea6ad64013486db6df44b18828SX77");
$result = $aop->execute($request);
var_dump($result);

  5)请求成功返回 

public 'alipay_system_oauth_token_response' =>
   object(stdClass)[10]
     public 'access_token' => string 'authusrB10494a8d6a77483c94092ff47af20B24' (length=40)
     public 'alipay_user_id' => string '2088102168729244' (length=16)
     public 'expires_in' => int 600
     public 're_expires_in' => int 660
     public 'refresh_token' => string 'authusrB188acaecd9fa478a807087f39f666X24' (length=40)
     public 'user_id' => string '2088102168729244' (length=16)
 public 'sign' => string 'xxxxxxxxxxxxxxxxxxxxxxxx'

至此,用户信息授权流程已结束,如果只想拿到user_id 和access_token(支付宝用户唯一标识符)。 

DEMO分享(
声明:demo仅做参考使用):
download:AlipaySystemOauthToken-UTF-8.zip

有什么问题欢迎在帖子下面追问

目录
相关文章
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
|
5月前
|
网络协议 Java 应用服务中间件
如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试
如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试
|
9月前
|
PHP 数据库
对PHP源码的测试
对PHP源码的测试
|
10月前
|
JSON 监控 前端开发
Zabbix监控系统PHP-API开发测试实录
Zabbix监控系统PHP-API开发测试实录
149 0
|
10月前
|
PHP Windows
php环境部署:phpstudy设置本地测试域名找不到hosts文件的解决方案
php环境部署:phpstudy设置本地测试域名找不到hosts文件的解决方案
203 0
|
10月前
|
JavaScript 数据库连接 PHP
php部署服务器后本地测试正常的页面顶部出现空白的(&#65279 BOM头)解决方案
php部署服务器后本地测试正常的页面顶部出现空白的(&#65279 BOM头)解决方案
65 0
|
10月前
|
API PHP
企业微信授权登录服务端API实战开发(2):php程序开发获取访问用户身份
企业微信授权登录服务端API实战开发(2):php程序开发获取访问用户身份
109 0
|
11月前
|
JavaScript Java 数据安全/隐私保护
java对接支付宝在线支付 沙箱环境测试
首先去https://open.alipay.com/platform/home.htm注册 点击进入我的开放平台
|
11月前
|
PHP
PHP递归和循环的速度测试
写了一个可以对 $_GET`, `$_POST 等输入进行过滤的函数,做了PHP递归和循环的速度测试。
56 0

热门文章

最新文章