[英]iOS push notifications using TLS certificate vs. using authentication tokens
基於令牌的身份驗證較新,從本質上簡化了 APNS 身份驗證。 它基於您可以在 Apple 開發人員帳戶上生成的公鑰和私鑰對。
以下是它更簡單的主要原因:
一個很好的英特爾來源是 2016 年關於 APNS 的 WWDC 視頻: https : //developer.apple.com/videos/play/wwdc2016/724/
2020年,你只能現實地使用“令牌”方法。 較舊的方法是遺留問題,他們可能會砍掉它。
你的私鑰看起來像這樣
let keystring = `-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGByqGSM49Aas8d76as8das687asd687asd68as8brwUIWA46qcXis
zCu6dbd4s8d7b5s86gf98ugtr28re7089a7d6tbvpiiui524kyfpq9861eFJP7we
eE7rX4182609457ohgyj3lhgp98wfb698bfg69287f2k4htgwpo876grwo7XDklz
9fdg689d
-----END PRIVATE KEY-----`
您的密鑰 ID將如下所示
let keyId = "CTU7XXBPRH"
並且您的 Apple 團隊 ID 是您常用的 Apple 團隊 ID,看起來像“YWD3UUTEWD”。
如今 - 謝天謝地 - 在 Apple 開發者網站上從貴公司帳戶中獲取私鑰和密鑰 ID 相對容易。
如果你想在 AWS 上的普通 Node 服務器上測試發送推送,我強烈推薦這個優秀的新 npm,APNS2 https://www.npmjs.com/package/apns2
let bn = new BasicNotification(deviceToken, 'Hello')
發送推送就是這么簡單。
小貼士:
不要忘記該死的“開發/沙盒”推送只能在連接到您的 MAC/XCODE 的 IPHONE 上工作!
開發/沙盒推送 - 僅適用於通過 Xcode 運行構建並連接到 Mac的 iPhone
生產推送 -它們與TestFlight構建完全一致。
另外:不要忘記所謂的開發/沙盒推送通常是不穩定的。 通常,他們幾個小時都沒有到達,他們根本沒有到達,他們根本不在許多地區工作。
不要忘記,使用TestFlight應用程序完全可以使用“生產”應用程序。
所以
而如果你
(需要明確的是,在使用 APNS2 時,如果您確實想嘗試“開發”推送,要訂購“開發”推送,只需使用此處底部解釋的額外代碼行https://www.npmjs.com/package /apns2 )
2021 年,Apple 的設置遠程通知服務器狀態
這兩種技術各有優缺點,因此請決定哪種技術最適合您的公司。
Fattie 和 Ika 都表示基於 TLS/證書的身份驗證較差。 Firebase 中的項目 UI也使用了不能解釋太多恕我直言的語言:
建議使用身份驗證密鑰進行配置,因為它們是向 iOS 發送通知的最新方法
.p12
並將其用於您的應用程序。 進入 developer.apple.com,創建一個推送通知密鑰。 但是,您的應用程序必須每小時更新這些令牌。 為 TLS 身份驗證創建.p12
涉及更多。這種安全性是否重要,還是使用令牌身份驗證更方便? 我會說在大多數情況下,使用令牌身份驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.