Apple推送通知身份validation密钥(沙盒与制作)

我最近在为给定的iOS客户端创build证书时注意到了一个新选项。

该选项是标题

Apple推送通知身份validation密钥(沙盒与制作)

获取身份validation密钥以生成服务器端令牌。 您可以将这些令牌用作通知请求证书的替代方法。

一个身份validation密钥可用于多个应用程序,不会过期。

如何设置这个呢?

Apple推送通知令牌authentication是使用提供商证书连接到APN的替代方法。 提供程序API支持JSON Web Token(或JWT)(一种开放标准),以将身份validation声明与推送消息一起传递给APN。

要生成提供者令牌,请按照创build通用提供者令牌应用分发指南中所述获取用于签署令牌的私钥。 你应该构造一个头部包含10个字符的密钥ID(孩子)的标记。 令牌声明部分包含发行人(Iss),其是10个字符的团队ID。 您的团队ID和密钥ID值可以从您的开发者帐户获得。 声明还应包含Issat At(iat),即生成令牌时UTC(世纪时)的秒数。 令牌必须使用椭圆曲线数字签名algorithm(ECDSA)使用P-256曲线和SHA-256哈希algorithm(ES256)进行签名,该algorithm在algorithm密钥(alg)中被指定为一个值。

{ "alg": "ES256", "kid": "ABC123DEFG" } { "iss": "DEF123GHIJ", "iat": 1437179036 } 

有关用于生成已签名JSON Web令牌的可用库列表的更多信息,请参阅https://jwt.io

这是一个快速的库来签署您的JSON Web令牌(或JWT): kylef / JSONWebToken.swift

注意:APNs只支持使用ES256algorithm签名的提供者令牌。 使用其他algorithm签名的不安全的JWT或JWT将被拒绝,并显示一个指示无效的提供程序令牌的响应。

来源: APPLE:提供者authentication令牌

WWDC 2016 – Session 724: 基于令牌的身份validation