php调起淘宝app授权登录,PHP实现苹果第三方授权登录
一、先获取apple的公钥
获取Apple公钥访问地址:https://appleid.apple.com/auth/keys
得到以下的格式
{
"keys": [
{
"kty": "RSA",
"kid": "86D88Kf",
"use": "sig",
"alg": "RS256",
"n": "iGaLqP6y-SJCCBq5Hv6pGDbG_SQ11MNjH7rWHcCFYz4hGwHC4lcSurTlV8u3avoVNM8jXevG1Iu1SY11qInqUvjJur--hghr1b56OPJu6H1iKulSxGjEIyDP6c5BdE1uwprYyr4IO9th8fOwCPygjLFrh44XEGbDIFeImwvBAGOhmMB2AD1n1KviyNsH0bEB7phQtiLk-ILjv1bORSRl8AK677-1T8isGfHKXGZ_ZGtStDe7Lu0Ihp8zoUt59kx2o9uWpROkzF56ypresiIl4WprClRCjz8x6cPZXU2qNWhu71TQvUFwvIvbkE1oYaJMb0jcOTmBRZA2QuYw-zHLwQ",
"e": "AQAB"
},
{
"kty": "RSA",
"kid": "eXaunmL",
"use": "sig",
"alg": "RS256",
"n": "4dGQ7bQK8LgILOdLsYzfZjkEAoQeVC_aqyc8GC6RX7dq_KvRAQAWPvkam8VQv4GK5T4ogklEKEvj5ISBamdDNq1n52TpxQwI2EqxSk7I9fKPKhRt4F8-2yETlYvye-2s6NeWJim0KBtOVrk0gWvEDgd6WOqJl_yt5WBISvILNyVg1qAAM8JeX6dRPosahRVDjA52G2X-Tip84wqwyRpUlq2ybzcLh3zyhCitBOebiRWDQfG26EH9lTlJhll-p_Dg8vAXxJLIJ4SNLcqgFeZe4OfHLgdzMvxXZJnPp_VgmkcpUdRotazKZumj6dBPcXI_XID4Z4Z3OM1KrZPJNdUhxw",
"e": "AQAB"
}
]
}
取Apple公钥,key数组里面任意一个,例如
{
"kty": "RSA",
"kid": "86D88Kf",
"use": "sig",
"alg": "RS256",
"n": "iGaLqP6y-SJCCBq5Hv6pGDbG_SQ11MNjH7rWHcCFYz4hGwHC4lcSurTlV8u3avoVNM8jXevG1Iu1SY11qInqUvjJur--hghr1b56OPJu6H1iKulSxGjEIyDP6c5BdE1uwprYyr4IO9th8fOwCPygjLFrh44XEGbDIFeImwvBAGOhmMB2AD1n1KviyNsH0bEB7phQtiLk-ILjv1bORSRl8AK677-1T8isGfHKXGZ_ZGtStDe7Lu0Ihp8zoUt59kx2o9uWpROkzF56ypresiIl4WprClRCjz8x6cPZXU2qNWhu71TQvUFwvIvbkE1oYaJMb0jcOTmBRZA2QuYw-zHLwQ",
"e": "AQAB"
}
二 获取解密的字符串
通过Apple公钥在线(https://8gwifi.org/jwkconvertfunctions.jsp)得到用于解密的pem公钥字符串
复制公钥粘贴到输入框,提交,得到公钥
$publicKey = "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlxrwmuYSAsTfn+lUu4go
ZSXBD9ackM9OJuwUVQHmbZo6GW4Fu/auUdN5zI7Y1dEDfgt7m7QXWbHuMD01HLnD
4eRtY+RNwCWdjNfEaY/esUPY3OVMrNDI15Ns13xspWS3q+13kdGv9jHI28P87RvM
pjz/JCpQ5IM44oSyRnYtVJO+320SB8E2Bw92pmrenbp67KRUzTEVfGU4+obP5RZ0
9OxvCr1io4KJvEOjDJuuoClF66AT72WymtoMdwzUmhINjR0XSqK6H0MdWsjw7ysy
d/JhmqX5CAaT9Pgi0J8lU/pcl215oANqjy7Ob+VMhug9eGyxAWVfu/1u6QJKePlE
+wIDAQAB
-----END PUBLIC KEY-----";
三 校验
校验客户端传过来的$identityToken,通过jwt校验
//token校验
private function appleJwtVerify($identityToken = '',$public_key)
{
//pem公钥 【也可以通过将RSA公钥modulus(N)和exponent(E)转换为PEM文件】
$decoded = JWT::decode($identityToken, $publicKey, array('RS256'));
return $decoded;
}
/**
* 第三方登录
*/
public function appleIdLogin()
{
$openid = $this->params('userID', '');
$verifyToken = $this->params('verifyToken', '');
if(empty($openid) || empty($verifyToken)){
exit( '参数错误'),
}
//token校验
$verifyRes = $this->appleJwtVerify($verifyToken);
if(isset($verifyRes['jwtStatus']) && $verifyRes['jwtStatus'] == 'failed'){
//校验失败之后的操作
return;
}else{
//校验失败之后的进行注册操作
}
}
php调起淘宝app授权登录,PHP实现苹果第三方授权登录相关推荐
- 阿里云网页跳转淘宝app授权登陆流程
前言 今天刚好去阿里云平台认证一个证书,登陆时使用到第三方app授权(淘宝),恰好前段时间朋友问我第三方平台微信授权登陆的流程,故记录一下,方便大家交流学习. 流程步骤 1.访问阿里云培训中心 - 数 ...
- 极客日报:恶意软件感染超1000万台安卓设备;淘宝App已支持“云闪付”付款;OpenSSH 8.8发布
一分钟速览新闻点! OPPO在德国反诉诺基亚专利侵权 抖音支持外放音量过高提醒功能 淘宝App已支持"云闪付"付款 理想汽车称玻璃存在自动开裂可能性 阿里申请"阿里元宇宙 ...
- 淘宝客订单同步,关联私域授权用户,给用户返分,流程是如何串起来的
淘宝客订单同步,关联用户,给用户返分整体实现流程: 提前完成: 渠道管理申请 .专属的推广位完成备案 .实现用户授权相关接口开放平台-文档中心 .实现绑定私域用户接口taobao.tbk.sc. ...
- 淘宝 APP 网络架构演进与弱网破障实践
作者:沈良炜 阿里大淘宝终端体验平台团队 面对移动互联网络下复杂多变的网络环境,如何提供更稳定可靠的请求性能,保障用户的加载浏览体验?本文将为大家分享淘宝APP统一网络库的演进. 一.引言 自2013 ...
- 淘宝App惊现“内测版本弹屏”P0级事故!5张淘宝架构PPT,剖析事故始末
点击"技术领导力"关注∆ 每天早上8:30推送 作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 老K跟朋友开玩笑:今天的心情和手 ...
- 手机淘宝APP关键词搜索采集方案
自2018年12月中旬之后,淘宝升级了反爬虫策略,淘宝Web版必须要登录之后才能使用搜索功能(直接搜索会被重定向到登录界面,登录之后才能看到搜索结果).然而登录之后如果访问稍微频繁,就会出现滑块验证码 ...
- 使用WEX5移动开发工具制作仿淘宝APP
毕业设计-使用WEX5移动开发工具制作仿淘宝APP 系统设计的意义 本课题来源于对日常逛超市.购物的生活体验和指导老师的提示.本系统是基于 WeX5的仿淘宝App系统,它商家们提供了一个更广阔的商品推 ...
- iOS 类似复制链接打开淘宝APP后弹出页面功能
写在前面 我们应该都有用过这个功能,你的朋友微信给你分享了一个淘宝里面的商品链接,然后当你复制这个链接打开淘宝APP的时候,就会弹出一个弹窗,像这样: example.PNG 这个功能想必大家都挺熟悉 ...
- 淘宝APP数据如何获取
随着中国互联网的快速发展,淘宝APP已成为了人们购物必备的应用程序之一.作为中国最大的在线购物平台之一,淘宝APP每天都会生成海量的交易数据,这些数据对分析消费者行为.预测市场趋势和优化商家运营都非常 ...
最新文章
- 基于ArcGIS JS API 的点击查询功能
- SAP信用控制配置事物码
- 【机器学习】深刻理解决策树-动手计算ID3算法
- 匿名函数自我调用_Python中的匿名函数及递归思想简析
- jetbrick-template 和其他模板的性能测试比较
- Magedu2_3 linux文件目录
- QT GUI界面中集成VISIO绘图区详细说明
- 虚拟主机与云服务器的区别
- 动手学数据分析之数据加载及探索性数据分析
- 小米、搜狗、TW等机器学习算法工程师面试总结
- Google - 搜索图片快速设置
- Android音频数据格式概述
- 串口通讯调试-串口调试助手
- 物联网Wi-Fi,SIP 时代即将来临
- Windows 服务(1) (from MSDN)
- C语言根据国家英文首字母进行排序
- idea调试源代码c语言,IDEA阅读spring源码并调试
- 非线性光学散射偏微分方程组的matlab求解仿真
- Oracle 游标遍历 显式游标 静态游标 OPEN v_cur(); WHILE v_cur%FOUND LOOP; LOOP FETCH v_cur INTO v_row
- 液晶屏有哪些种类,区别是什么?