【问题标题】:Apple Push Notification Authentication Key (Sandbox & Production)Apple 推送通知身份验证密钥(沙盒和生产)
【发布时间】:2017-02-01 23:18:28
【问题描述】:

我最近在为给定的 iOS 客户端创建证书时发现了一个新选项。

选项的标题

Apple 推送通知身份验证密钥(沙盒和生产)

获取身份验证密钥以生成服务器端令牌。您可以使用 这些令牌作为您通知的证书的替代品 要求。

一个身份验证密钥可用于多个应用程序,但不能 过期。

如何进行设置?

【问题讨论】:

    标签: ios iphone swift push-notification


    【解决方案1】:

    Apple Push Notification 基于令牌的身份验证是使用提供者证书连接到 APN 的替代方法。提供者 API 支持 JSON Web Token(或 JWT),一种开放标准,将身份验证声明与推送消息一起传递给 APN。

    要生成提供者令牌,请获取用于签署 如在应用程序中创建通用提供程序令牌中所述的令牌 分发指南。您应该构造一个带有标头的令牌 包含 10 个字符的密钥 ID(孩子)。令牌声明部分 包含 Issuer (iss),它是一个 10 个字符的团队 ID。您的团队 ID 和 Key ID 值可以从您的开发者帐户中获取。这 索赔还应包含 Issued At (iat),即 生成令牌时距 UTC 纪元的秒数​​。令牌必须 使用椭圆曲线数字签名算法 (ECDSA) 进行签名 使用 P-256 曲线和 SHA-256 哈希算法 (ES256), 指定为算法键 (alg) 中的值。

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

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

    这是一个用于签署 JSON Web Token(或 JWT)的快速库:kylef/JSONWebToken.swift

    注意:仅支持使用 ES256 算法签名的提供者令牌 通过 APNs。不安全的 JWT 或使用其他算法签名的 JWT 将 以指示无效提供者令牌的响应被拒绝。

    来源:APPLE : Provider Authentication Tokens

    WWDC 2016 - 会议 724:Token Based Authentication

    PS:

    最大的区别是Key Way不会过期,而不是Certificate会在一年后过期。

    【讨论】:

    • 为“Apple Push Notification service SSL”创建生产证书是否需要“Apple Push Notification Authentication Key”?
    • 不,这是 SSL 证书的替代解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2017-06-23
    相关资源
    最近更新 更多