![](/img/trans.png)
[英]Sign any message with the user’s private key and verify the signature on Ethereum
[英]What's the purpose of "Verify a User" in "Sign in with Apple"?
使用 Apple REST API 登錄 | Apple 開發者文檔,有兩篇文章, Authenticating Users with Sign in with Apple | Apple 開發人員文檔和驗證用戶 | 蘋果開發者文檔。
我可以在“使用 Apple 登錄對用戶進行身份驗證”中獲取用戶標識符,但我無法理解為什么需要“驗證身份令牌”,因為我們已經獲得了用戶標識符。 “驗證身份令牌”的目的是什么? “獲取刷新令牌”的目的是什么? 我們可以使用刷新令牌和訪問令牌做什么?
我在“Apple 開發人員文檔”中找不到我的答案。
您通過 Apple 登錄獲得的用戶身份令牌的有效期僅為 10 分鍾,因為它可能被攔截並用於重放攻擊。 可以想象,它也可以是偽造的。
您將用戶令牌提交到驗證端點,以驗證它是否是 Apple 頒發的有效身份令牌。
您可能還需要在您的服務器中設置一些憑據以允許它發出訪問令牌; 想想“用戶名和密碼”,但是在使用 Apple 登錄的情況下,您沒有密碼; 這就是刷新令牌的作用。
例如,您可以將用戶的標識符和刷新令牌存儲在您的服務器中以代替加密密碼,也可以將其存儲在您的應用程序的鑰匙串中。 然后應用程序可以向您的服務器提供用戶標識符和刷新令牌,以獲得訪問令牌。
在 iOS 上,您可以使用getCredentialState(forUserID:completion:)
來驗證用戶是否仍然有效。 在其他系統上,您可以定期(最多每天一次)驗證刷新令牌,以確保用戶帳戶在 Apple 的信譽良好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.