如何将 iOS APNs 身份验证密钥与 Azure 通知中心一起使用?
Posted
技术标签:
【中文标题】如何将 iOS APNs 身份验证密钥与 Azure 通知中心一起使用?【英文标题】:How do I use an iOS APNs Auth Key with Azure Notification Hubs? 【发布时间】:2017-05-19 20:45:12 【问题描述】:我已成功设置我的集线器以对每个应用程序使用 SSL 证书,但我真的很想转向基于令牌的 APNs Auth Key 方法。我用我相信来自 p8 文件的所有正确信息配置了我的集线器。对于密钥 ID,我输入了生成密钥时的 10 个字符的值。对于 App ID,我输入了我的团队 ID。对于 Token,我输入了 p8 文件中的私钥值。
有人在这方面取得了成功吗?以下是我尝试发送测试消息时发生的情况:
当设置为沙盒并测试发送到我的设备时,我收到“推送通知系统由于凭据无效而拒绝请求”的失败结果。 当设置为生产并测试发送到我的设备时,我收到“从令牌提供者获得的令牌无效”的失败结果
对于生产,我认为这是因为我要发送到 TestFlight/应用商店之外的本地应用构建,所以它期待“开发”或沙盒 aps 环境。
不确定我还能做些什么其他故障排除。
TIA,
【问题讨论】:
查看this answer 【参考方案1】:我知道发生了什么事。
Azure 门户中的应用程序名称字段对于消息的传递方式至关重要。即使 APNs Auth Key 可以在多个应用程序中使用,通知仍然必须将主题设置为针对该特定应用程序。似乎 Azure 通知中心采用应用程序名称字段并将其放入 apns-topic。一旦我将它设置为我的应用标识符,它就会按预期工作。
【讨论】:
谢谢!在“应用程序名称”字段中使用捆绑 ID 是让它为我工作的技巧。我还发现“App ID”==“Team ID”(来自开发门户的 10 位字符串)。 Token 是 .p8 文件内容,不带 ---PRIVATE KEY--- 前缀和后缀,并且去掉了空格。【参考方案2】:作为一个仅供参考,这里是官方文档的链接 https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-push-notification-http2-token-authentification
【讨论】:
以上是关于如何将 iOS APNs 身份验证密钥与 Azure 通知中心一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
APNS:如果使用 Auth Key,是不是需要 APNS 证书?
将 APNs 从证书升级到身份验证令牌是不是会使现有的 deviceToken 失效?