支付宝授权登陆php,支付宝app登录授权的infoStr授权登录流程
官网:
服务端sdk:https://docs.open.alipay.com/54/103419/
客户端如何使用登录:https://docs.open.alipay.com/218/105329/
app授权登录流程:服务端先拿到 App 端 调用 支付宝 SDK 所需要的 infoStr
App 端 通过 infoStr 获得用户 授权 code
服务端通过 授权 code 拿到请求 token
服务端通过 token 获得用户信息
app端支付宝登陆步骤:
1.后端传infoStr
官方是这样写的:https://docs.open.alipay.com/218/105325/
看到这边的实例:apiname=com.alipay.account.auth&app_id=xxxxx&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=xxxxx&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=20141225xxxx&sign=fMcp4GtiM6rxSIeFnJCVePJKV43eXrUP86CQgiLhDHH2u%2FdN75eEvmywc2ulkm7qKRetkU9fbVZtJIqFdMJcJ9Yp%2BJI%2FF%2FpESafFR6rB2fRjiQQLGXvxmDGVMjPSxHxVtIqpZy5FDoKUSjQ2%2FILDKpu3%2F%2BtAtm2jRw1rUoMhgt0%3D
刚开始很自信,查找一下sdk有没有 alipay.open.auth.sdk.code.get 这个的方法,但是全局搜索之后没有看到这个字样
然后尝试着去用这个连接去请求是否会得到这个 authcode,但是还是失败了。
心情炸裂了,然后看到一篇博客才知道,我一开始就错了,原来返回的就只需要后台拼接,不需要请求。
可能刚开始的思路就不正确导致的吧, 折腾了一下午。
引用一下其他开发人员的话吧:
获取infoStr/**
* InfoStr APP登录需要的的infostr
*
* @return String
*/
public function infoStr()
{
$infoStr = http_build_query([
'apiname' => 'com.alipay.account.auth',
'method' => 'alipay.open.auth.sdk.code.get',
'app_id' => $this->app_id,
'app_name' => 'mc',
'biz_type' => 'openservice',
'pid' => $this->pid,
'product_id' => 'APP_FAST_LOGIN',
'scope' => 'kuaijie',
'target_id' => mt_rand(999, 99999), //商户标识该次用户授权请求的ID,该值在商户端应保持唯一
'auth_type' => 'AUTHACCOUNT', // AUTHACCOUNT代表授权;LOGIN代表登录
'sign_type' => 'RSA2',
]);
$infoStr .= '&sign='.$this->enRSA2($infoStr);
return $infoStr;
}
/**
* enRSA2 RSA加密
*
* @param String $data
* @return String
*/
private function enRSA2($data)
{
$str = chunk_split(trim($this->private_key), 64, "\n");
$key = "-----BEGIN RSA PRIVATE KEY-----\n$str-----END RSA PRIVATE KEY-----\n";
// $key = file_get_contents(storage_path('rsa_private_key.pem')); 为文件时这样引入
$signature = '';
$signature = openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA256)?base64_encode($signature):NULL;
return $signature;
}
代码来自https://learnku.com/articles/30076#replies
支付宝授权登陆php,支付宝app登录授权的infoStr授权登录流程相关推荐
- 微信授权登陆接入第三方App(步骤总结)Android
微信授权登陆接入第三方App(步骤总结) 这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移 ...
- 微信授权登陆接入第三方App(步骤总结)Android。
这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目 ...
- 微信授权登陆介入第三方APP
这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目 ...
- android微信登录用户绑定,微信授权登陆接入第三方App(步骤总结)Android
Linux的学习--crontab 之前了解过一点crontab,前段时间比较闲,就熟悉了一下,今天总结记录一下. crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指 ...
- 支付宝app登录授权的infoStr授权登录流程
官网: 服务端sdk:https://docs.open.alipay.com/54/103419/ 客户端如何使用登录:https://docs.open.alipay.com/218/105329 ...
- 支付宝第三方授权登陆
支付宝微信第三方软件的接入,也是越来越流行,最近也稍微研究了一下,支付宝和微信的登陆接入. 由于本人是做Java后台发开的,所以前端app集成没有涉及,研究的是网页和后台部分. 做第三方软件的接入, ...
- php微信登录app接口开发文档,PHP微信OAuth2网页授权登陆接口
微信OAuth2网页授权登陆接口,微信OAuth2网页授权登陆接口,在你的网站上放上可以扫码登陆,会不会吸引更多用户去注册,现在你只需要简单的配制一下就可以轻松实现,还不快点拿走,微信扫码登陆接口开发 ...
- 如何实现自有App上的小程序第三方微信授权登陆?
对于微信小程序来说,有 OpenID 或 UnionID 作为唯一标识,微信授权登陆小程序账号是很容易实现的,但对于其他应用上的小程序来说(如支付宝.百度等),打通该登陆方式是比较麻烦的. 之前在Fi ...
- 淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站
首先得有一个注册的appkey和App Secret 该流程分三个步骤: 第一步:通过用户授权获取授权码Code: 第二步:用上一步获取的Code和应用密钥(AppSecret)通过Https P ...
- php 支付宝用户信息授权,h5端支付宝第三方用户信息接口demo
1 准备:去阿里开放平台注册申请成为开发者,然后添加一个web或者移动端应用并选择免费会员信息接口 具体流程参考支付宝开放平台开发文档即可. 2 在index.php中配置好申请的$APPID和$EN ...
最新文章
- 【OpenCV3】图像通道分离与合并——cv::split()与cv::merge()详解
- WebSocket 1.0的学习和简单使用
- dw按钮图片滚动js_轮播图--swiper插件/原生js/jQuery
- 《LINUX3.0内核源代码分析》第二章:中断和异常 【转】
- 小程序 php转excel,做微信小程序上传数据 数据格式?-微信 上传数据 生成excle
- pytorch torch.tensor
- Ubuntu OpenCV 自定义环境变量 pkg-config / PKGCONFIGPATH
- 机器学习中的Bias,Error,Variance的区别
- 金数据表单接口请求(php)
- 最主流的Java后台开发框架
- OK插件安装常见问题集锦(PowerPoint版)|OneKeyTools Lite安装说明
- 助过网:一个月时间怎么科学有效复习公务员考试?
- 8脚 tja1050t_CAN总线通信硬件原理图(采用TJA1050T CAN总线驱
- android 电池续航时间,高端Android手机电池续航排行榜Droid居榜首
- MDWechat(微信美化)
- Python的就业方向、薪资,学完前景怎么样?
- PCB封装欣赏了解之旅(下篇)—— 常用集成电路
- IEEE 802.15介绍
- 父亲节简约实PPT模板——免费下载
- mfc ListControl 重绘网格线