这里吐槽一下苹果的开发文档,一切源于前段时间,公司的产品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.

(1).接口地址:https://developer.apple.com/documentation/signinwithapplerestapi/fetch_apple_s_public_key_for_verifying_token_signature

(2).接口返回数据结构解释doc地址:https://developer.apple.com/documentation/signinwithapplerestapi/jwkset/keys):

2.实际返回的数据结构是这样的:

吐槽苹果开放接口のappleid登陆的更多相关文章

  1. 【转】App开放接口api安全性—Token签名sign的设计与实现

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...

  2. App开放接口api安全性的设计与实现

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证, 那么这就需要用户提供一些信息,比如用户名密码等 ...

  3. App开放接口api安全性—Token签名sign的设计与实现

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...

  4. 一次开放接口从需求分析到发布sdk线上包

    新年开场篇,欢迎来点赞:本篇和大家分享的是使用webapi做得接口服务验证框架,需求来源是我打算把上篇提到的图片验证码做成一种服务提供给大家,尽管我在上篇已经把代码打包开源了,但是如果有一种快速对接成 ...

  5. 开放接口/RESTful/Api服务的设计和安全方案详解

    一.总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名 ...

  6. App开放接口API安全性 — Token签名sign的设计与实现

    在app开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议. https是在http超文本传输协议加入SSL层,它在网络间通信是加 ...

  7. 开放接口/RESTful/Api服务的设计和安全方案

    总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名) ...

  8. APP开放接口API安全性——Token令牌Sign签名的设计与实现

    在APP开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议.https是在http超文本传输协议加入SSL层,它在网络间通信是加密 ...

  9. App开放接口API安全性之Token签名Sign的设计与实现

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...

随机推荐

  1. 5G时代将至,哪些改变会随之而来?

    近年来,运营商不断被唱衰.关键原因就在于运营商的各项业务,在互联网的冲击下已经愈发"萎缩".尤其是短信和语音通话,它们的价值在不断被降低.简而言之,运营商似乎成为了纯粹的" ...

  2. Git log 中文乱码

    以下三条命令搞定(系统是centos  7.4) git config --global i18n.commitencoding utf-8 git config --global i18n.logo ...

  3. 一个搜索框的小demo

    一.实时按照输入的搜索值显示与其匹配的内容,隐藏其它内容 <%@ Page Language="C#" AutoEventWireup="true" Co ...

  4. built?

    题目描述 There are N towns on a plane. The i-th town is located at the coordinates (xi,yi). There may be ...

  5. VSTO作品:OutlookMailViewer的下载和使用

    OutlookMailViewer用于Outlook 2013/2016的一款插件. 电脑的安装环境要求:具有VSTO运行环境+Net Framework 4.0以上. 下载地址: OutlookMa ...

  6. 吴裕雄--天生自然 JAVASCRIPT开发学习:JavaScript 对象 实例

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. LabVIEW部分视觉函数中文解说

    IMAQ Learn Pattern 2 VI 在匹配阶段创建您要搜索的图案匹配的模板图像的描述,此描述的数据被附加到输入模板图像中.在匹配阶段,从模板图像中提取模板描述符并且用于从检查图像中搜索模板 ...

  8. TB3_Autorace之交通杆检测

    利用blob检测算法识别交通杆,控制TB3机器人完成对交通杆的起停动作! 上一篇博文中<TB3_Autorace之路标检测>订阅了原始图像信息,经过SIFT检测识别出道路交通标志,这里我们 ...

  9. WebFilter 在springBoot工程中不起作用

    [1]@ServletComponentScan 必须有一个注解将带有@WebFilter的类包含进去. [2]自定义 FiltersConfig extends WebMvcConfigurerAd ...

  10. H5页面如何引入vConsole

    vConsole github地址vConsole 是腾讯开源的项目,这就简单的介绍一下使用 使用npm引入vconsole.min.js下载 vConsole 的最新版本.(不要直接下载 dev 分 ...