AbstractAccountAuthenticator.GetAuthToken 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得帳戶的驗證。
[Android.Runtime.Register("getAuthToken", "(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;", "GetGetAuthToken_Landroid_accounts_AccountAuthenticatorResponse_Landroid_accounts_Account_Ljava_lang_String_Landroid_os_Bundle_Handler")]
public abstract Android.OS.Bundle? GetAuthToken(Android.Accounts.AccountAuthenticatorResponse? response, Android.Accounts.Account? account, string? authTokenType, Android.OS.Bundle? options);
[<Android.Runtime.Register("getAuthToken", "(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;", "GetGetAuthToken_Landroid_accounts_AccountAuthenticatorResponse_Landroid_accounts_Account_Ljava_lang_String_Landroid_os_Bundle_Handler")>]
abstract member GetAuthToken : Android.Accounts.AccountAuthenticatorResponse * Android.Accounts.Account * string * Android.OS.Bundle -> Android.OS.Bundle
參數
- response
- AccountAuthenticatorResponse
將結果傳回 AccountManager,永遠不會是 Null
- account
- Account
要擷取其認證的帳戶永遠不會是 Null
- authTokenType
- String
要擷取的驗證令牌類型永遠不會是 Null
- options
- Bundle
驗證器特定選項的套件組合。 它一律包含 AccountManager#KEY_CALLER_PID
和 AccountManager#KEY_CALLER_UID
欄位,讓驗證器知道呼叫者的身分識別。
傳回
如果結果是透過回應傳回,則為 Bundle 結果或 Null。
- 屬性
例外狀況
如果驗證器因網路錯誤而無法接受要求,則為
備註
取得帳戶的驗證。
如果不是 null
,則結果會 Bundle
根據令牌是否成功發行而包含不同的密鑰集,如果不是,則是否可透過某些 android.app.Activity
發出令牌。
如果沒有額外的活動,就無法提供權杖,套件組合應該包含 AccountManager#KEY_INTENT
相關聯的 Intent
。 另一方面,如果沒有這類活動,則應該傳回包含 AccountManager#KEY_ERROR_CODE
和 AccountManager#KEY_ERROR_MESSAGE
的套件組合。
如果可以成功發行令牌,則實作應該傳回AccountManager#KEY_ACCOUNT_NAME
與令牌以及 AccountManager#KEY_AUTHTOKEN
相關聯之帳戶的 和 AccountManager#KEY_ACCOUNT_TYPE
。 AbstractAccountAuthenticator
此外,宣告本身android:customTokens=true
的實作也可能提供非負#KEY_CUSTOM_TOKEN_EXPIRY
的long值,其中包含到期時間的到期時間戳(在 unix epoch 之後的 millis 中),令牌會根據應用程式的 packageName/signature,在記憶體中快取令牌,但已指定多久。
實作者應該假設令牌會根據帳戶和 authTokenType 來快取。 當決定重複使用快取令牌時,系統可能會忽略所提供選項套件組合的內容。 此外,實作者應假設提供的到期時間會被視為非系結建議。
最後,請注意,對於 android:customTokens=false
驗證器,令牌會無限期地快取,直到某些用戶端呼叫 AccountManager#invalidateAuthToken(String,String)
為止。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。