吐槽苹果开放接口のappleid登陆
这里吐槽一下苹果的开发文档,一切源于前段时间,公司的产品app(某知名资讯app)要接入苹果登陆(ios13发布以来,apple就流氓要求新上线的app,如果有第三方登陆的话,必须要接入appleid登陆),所以看了下苹果官方提供的appleid登陆的开发文档,看了一脸懵逼(好好学学我们国内的bat的开发文档啦),然后就想着上网搜一下其他人的做法,毕竟我们是代码的搬运工。谁知道一查,md,大家对苹果的开发文档也是各种猜的,猜着来做的。由于当时手头比较忙,又要急着上线(因为提审appstore,说不接入appleid登陆审核不过,不久前提交的另外一个却没问题,尿性),遂找了个相对能看明白一点的例子(例子也是猜着做的,写得又乱),我自己稍微整理一下,终于跑通了,和app也联调成功了(虽说成功了,但是心里一直没底),然后就做其他的需求了。
跑着跑着,大概跑了半年,突然有一个新app(A),接入appleid登陆的时候,老是失败。刚好,还有另外一个app(B)也是,但是B有时候又成功,我在想,md,最近上线了那么多的新app,都没听说反馈有问题,肯定是app那边的开发者账号配置不对啊,但是又没有明确的证据和理由说服app的开发同事,没办法,只能自己后天慢慢调了。上网搜一两个钟,都没啥结果,这时候,只能靠自己的开发经验,调试手段以及重温apple的官方文档了,重温apple的官方文档,有鸟用。最终还是靠自己一步一步debug进源码,跟了很久,结合自己的开发经验,终于找出了问题。(这次问题的相关博客:https://www.cnblogs.com/ismallboy/p/11960958.html)
吐槽苹果苹果appleid登陆获取publicKey的接口文档,字段说明和实际的不一致。文档说kid字段是从开发者账号获取10个字符的标识符密钥(苹果开发账号里面确实有10位的密钥id的,叫做Key ID),但是调了接口(https://appleid.apple.com/auth/keys)发现,返回来的kid却是7位,真心理解不了。这个明明是获取publicKey(又不是privateKey)的接口,每个人(匿名,无需任何参数和校验)都可以调的,跟开发者账号有半毛钱关系啊,辣鸡苹果。接口的详情如下:
1.这个获取publicKey的接口的返回值,你的解释是这样的
ps.
(2).接口返回数据结构解释doc地址:https://developer.apple.com/documentation/signinwithapplerestapi/jwkset/keys):
2.实际返回的数据结构是这样的:
吐槽苹果开放接口のappleid登陆的更多相关文章
- 【转】App开放接口api安全性—Token签名sign的设计与实现
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...
- App开放接口api安全性的设计与实现
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证, 那么这就需要用户提供一些信息,比如用户名密码等 ...
- App开放接口api安全性—Token签名sign的设计与实现
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...
- 一次开放接口从需求分析到发布sdk线上包
新年开场篇,欢迎来点赞:本篇和大家分享的是使用webapi做得接口服务验证框架,需求来源是我打算把上篇提到的图片验证码做成一种服务提供给大家,尽管我在上篇已经把代码打包开源了,但是如果有一种快速对接成 ...
- 开放接口/RESTful/Api服务的设计和安全方案详解
一.总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名 ...
- App开放接口API安全性 — Token签名sign的设计与实现
在app开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议. https是在http超文本传输协议加入SSL层,它在网络间通信是加 ...
- 开放接口/RESTful/Api服务的设计和安全方案
总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名) ...
- APP开放接口API安全性——Token令牌Sign签名的设计与实现
在APP开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议.https是在http超文本传输协议加入SSL层,它在网络间通信是加密 ...
- App开放接口API安全性之Token签名Sign的设计与实现
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...
随机推荐
- 发生 Configuration system failed to initialize 错误的一个特例
一般情况下,.net 程序启动时发生 Configuration system failed to initialize 错误, 大都与 config 文件中 <configSections&g ...
- 在Myeclipse10中配置tomcat后新建工程
1.配置tomcat6.0 这里不在细说,和eclipse配置是一模一样的. 2.新建动态网站项目 3.配置显示服务器窗口 4.把项目与服务器链接 5.运行项目
- D. Array Splitting(后缀数组)
You are given an array
- CentOS7部署yum环境及虚拟机快照克隆
CentOS部署IP地址 第一种:nmtui 方向键.tab.空格.回车第二种:修改网卡配置文件 /etc/sysconfig/network-sripts/ifcfg- ...
- vue 起步(一)
准备 安装nodejs(下载),Windows 安装包(.msi) npm相关 打开cmd查看npm版本, npm -v,如果没有安装npm,执行npm install npm -g进行安装 查询当前 ...
- mysql远程导出
D:\phpStudy\PHPTutorial\MySQL\bin>mysqldump -h192.168.1.1 -u用户名 -p密码 --default-character-set=utf8 ...
- Windows电脑忘记密码
1.重启电脑,开机后按F8进入高级选项,选择<命令提示符的安全模式>并回车 2.出现administrator的登录画面后直接回车,此时便进入了命令行窗口 3.下面就是简单粗暴的一行命令搞 ...
- Spring定义Bean的两种方式:和@Bean
前言: Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用. 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean. 今天 ...
- C++ List的用法
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. assign() 给list赋值 back() 返回最后一个元素 begin() ...
- cs231n spring 2017 lecture12 Visualizing and Understanding
这一节课很零碎. 1. 神经网络到底在干嘛? 浅层的是具体的特征(比如边.角.色块等),高层的更抽象,最后的全连接层是把图片编码成一维向量然后和每一类标签作比较.如果直接把图片和标签做像素级的最近领域 ...