APNs Auth Key Token 验证模式
新的APNs协议基于HTTP/2,一种是使用Universal Push Notification Client SSL 证书,一种是使用Token。
基于HTTP/2与Token的 APNs 协议
2199840-c3887f0a51fbd5e6.png
APNs Provider(即,APP的后台) API 允许您向您的 iOS,macOS 设备上的应用程序和 Apple Watch 发送远程通知。API 基于 HTTP/2 网络协议。每个交互通过一个 POST 请求,包含 JSON 的有效Payload负载,通过服务器使用Auth Key生成服务端token连接APNs服务器,并且通过设备token发送负载。APNs然后转发给特定设备的指定应用程序。
Request 和 Response 使用JSON通信APNs支持状态码和返回 error 信息APNs推送成功时 Response 将返回状态码200APNs推送失败时,Response 将返回 JSON 格式的 Error 信息。最大推送长度提升到4096字节(4Kb)可以通过 “HTTP/2 PING ” 心跳包功能检测当前 APNs 连接是否可用,并能维持当前长连接。支持为不同的APP定义 “topic”(其实就是App Bundle ID)多个推送App,只需要一个Apple Push APNs Auth Key
Apple Push Notification Authentication Key
2016年9月,苹果悄悄上线了token验证的推送方式,通过获得一个认证密钥(APNs Auth Key)去生成服务器端token,并且token非常容易生成,可以使用这些token令牌代替推送证书。一个认证密钥可用于多个应用程序并且永远不过期。每一个需要推送的App都需要配置推送证书的时代过去了。but,大部分第三方推送服务商,目前都没有升级到APNs Auth Key Token模式。
APNs Auth Key.JPEG
- 通过 APNs Auth Key 鉴权
开发者网站证书页面:开发者网站
1.点击左侧列表 “Keys” 中的 “All”,看账户中是否已有 auth key,没有则点击 “+” 新建。
authkey_1_addAuthKey.png
2.填写该 key 的描述并选择服务,如下图。 (注:在开发和生产环境均可使用,且不会过期。)
authkey_2_createAuthKey.png
3.点击 “Continue” 让你确认信息,再点击 “confirm”,就可以下载该 key了。(.p8 密钥文件)
新版的开发者网站有了变化 .p8的制作位置有点小变化
(注意:记下 key id(.p8 密钥文件),而且只可以下载一次,请妥善保存。)
authkey_3_downloadAuthKey.png
4.获取你之前创建过的应用的 Bundle ID
authkey_4_getBundleId.png
5.在开发者账户的 “Membership” 页面获取 Team ID
authkey_5_getTeamId.png
6.在推送平台控制台上,进入你应用的应用设置中 iOS 的鉴权方式选择 “Token Authentication”,上传 auth key 文件,并填写你的 KEY ID,TeamID,和指定应用的 BundleID。推送平台会在后台为你的应用进行鉴权。
authkey_6_addInfoToPortal.png
权限和使用期限
新的token验证推送,一个认证密钥可用于多个App服务,没有时效性。不用为每个App需要单独配置两个(开发环境和生产环境)证书,还要注意过没过期。
作者:husky_duang
链接:https://www.jianshu.com/p/b700f0237b0e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
APNs Auth Key Token 验证模式相关推荐
- WebApi后端框架Token身份认证,Api接口Token验证
令牌概述(Token) 在以用户账号体系作为安全认证的信息系统中,对用户身份的鉴定是非常重要的事情. 令牌机制是软件系统安全体系中非常重要的部分,在计算机身份认证中是令牌的意思,一般作为邀请.登录以及 ...
- Django restframework之Token验证的缺陷及jwt的简单使用
一.主要缺陷: 1.Token验证是放在一张表中,即authtoken_token中,key没有失效时间,永久有效,一旦泄露,后果不可想象,安全性极差. 2.不利于分布式部署或多个系统使用一套验证,a ...
- go token验证_registry v2 解析以及如何实现token验证
提到registry v2,主要改进是支持并行pull镜像,镜像层id变成唯一的,解决同一个tag可能对应多个镜像的问题等等.如果还不太了解,可以且听我细细道来. 首先不得不说的是v2 新加了一个概念 ...
- 【Kubernetes】k8s的安全管理详细说明【k8s框架说明、token验证和kubeconfig验证详细说明】
文章目录 环境准备 k8s安全框架介绍 token验证 说明 启用token验证 测试token验证 base-auth[已经被淘汰] kubeconfig验证 说明 kubeconfig文件拷贝做测 ...
- .NET JWT Token验证
Model文件夹下新建三个类LoginResult,LoginRequest,AuthInfo 根据自己业务进行修改 public class LoginResult{public bool Succ ...
- 26.gateway的IP 认证拦截,gateway做token验证 流程图(springcloud)
1 创建 IPGlobalFilter package com.it.filter;import com.fasterxml.jackson.databind.ObjectMapper; import ...
- 10分钟搞定Java带token验证的注册登录
这是spring boot框架下的登录注册功能,并且带有token验证,可以用于生产环境的实例 原理太简单,直接上代码,让你知道什么叫拿来主义!! 1,java中项目介绍 2,resources 中的 ...
- appkey 和 secret key token
appkey 和 secret key相当于当前账户的另外一套账号和密码机制. 当然, 仅仅是在API调用的范围内适用. 1.生成方式可以自己定义, appkey保证不重复就行. secret key ...
- node.js实现token验证——从数据库验证登录到redis存储
前言 做过前后端分离项目的同学应该都做过 token 验证,在前端登录的时候需要缓存后端传过来的 token,然后在需要验证权限的接口带上 token.本章节来实现使用 node 进行 token 的 ...
最新文章
- 一文读懂支持向量积核函数(附公式)
- java中Arrays的用法
- 技术差的程序员,90%都输在这点上!骨灰级开发:其实都是在瞎努力!
- html弹出保存文件对话框_初步了解CAD的模板文件
- vue学习笔记-节接口调用-async和await
- tspline工具_Rhino 6 如何使用 T-spline?
- Windows任务管理器中的内存
- 高等数学(第七版)同济大学 总习题一 个人解答
- My 10 favorite APPs
- 仓储系统主要注意事项
- 新美大--软件测试--《社招、校招jd、公司具体介绍、培训发展、关于实习是什么,要求及常见问题、校招行程、校招常见问题》整理
- linux执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask)
- Vagrant + VMBox 踩坑记录
- 安装应用提示安装失败或不能安装,报INSTALL_FAILED_DUPLICATE_PERMISSION错误
- linux文件扫描并打印,Linux办公一条龙—Linux中扫描、打印的实现
- 卡马克快速平方根(平方根倒数)算法(转)
- maven setting,xml
- 3.13 小红书笔记怎样带话题,才能增加曝光?【玩赚小红书】
- 第十九周 银行系统(链表、二进制、业务明细)
- 在Mac下使用Python3
热门文章
- 早安心语/2017-6-28
- 2023年最新「Typora 1.5.10」安装教程(超级详细、亲测有效~)
- hdu 2066 一个人的旅行(dijkstra)
- TCP backlog
- Dynamo_修复导出EXCEL时出现的组件丢失问题
- OceanMind海睿思入选《2023中国企业数智化转型全景图中国数据智能产业图谱》
- 乐MAX 乐视X900+_官方线刷包_救砖包_解账户锁
- OCaml 第一章习题
- 【宝塔面板建站】05. 七牛云存储使用教程 免费备份10G数据(保姆级图文)
- flex弹性布局图解