吐槽苹果开放接口の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的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...
随机推荐
- eclipse利用sql语句对Oracle数据库进行操作
对Oracle数据库执行操作的sql语句中表名和列名都需用英文双引号("")括起来. 注(\为转义符) 1.插入数据 sql = "insert into \" ...
- [TJOI2017]不勤劳的图书管理员(分块+树状数组)
有一个数组开大会MLE开小会RE的做法:就是树套树,即树状数组套主席树,这种方法比较暴力,然而很遗憾它不能通过,因为其时空复杂度均为O(nlog2n). 想到一种不怎么耗内存,以时间换空间,分块!单次 ...
- Z变换解差分方程的思考
问题描述 今日碰到一道差分方程的题目,如下 [ y(n + 2) - cfrac{7}{10}y(n + 1) + cfrac{1}{10}y(n) = 7x(n+2) -2 x(n + 1) ] 已 ...
- maven中 pom 文件各个标签的作用
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- VBA引用管理加载宏
下载文件: VBA引用管理加载宏.rar 下载后,解压缩. Excel的 开发工具/加载项 在对话框中浏览 VBA引用管理.xlam VBA界面中,在工程右键菜单中出现:
- HQL语句简单介绍
HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此 Hib ...
- 4.Redis持久化方案
1.1 RDB持久化 RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘. RDB是Redis默认采用的持久化方式. ...
- 分布式全局唯一ID与自增序列
包含时间顺序的ID 此场景最简单的实现方案,就是采用 twitter 的 Snowflake 算法.ID总长64位,第1位不可用,41位表示时间戳,10位表示生成机器的id,后12位表示序列号. 为什 ...
- 吴裕雄 python 神经网络——TensorFlow 卷积神经网络手写数字图片识别
import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_N ...
- Emgu.CV.CvInvoke的类型初始值设定项引发异常”TypeInitializationException”的问题
问题如图: 解决方案: 1.记住EmguCV的安装位置:X:\XXX\XXX… 本测试方案中EmguCV的安装位置:D:\Emgu,操作时记得用自己的EmguCV安装路径替换掉D:\Emgu. 2.添 ...