AbstractAccountAuthenticator.GetAuthToken Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein Authentifizierungstoken für ein Konto ab.
[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
Parameter
- response
- AccountAuthenticatorResponse
um das Ergebnis zurück an den AccountManager zu senden, ist nie NULL.
- account
- Account
das Konto, dessen Anmeldeinformationen abgerufen werden sollen, ist niemals NULL.
- authTokenType
- String
Der Typ des abzurufenden Authentifizierungstokens ist nie null.
- options
- Bundle
ein Bündel von Authentifikatorspezifischen Optionen. Er enthält AccountManager#KEY_CALLER_PID immer Felder, AccountManager#KEY_CALLER_UID die den Authentifikator über die Identität des Aufrufers informieren.
Gibt zurück
ein Bundle-Ergebnis oder null, wenn das Ergebnis über die Antwort zurückgegeben werden soll.
- Attribute
Ausnahmen
wenn der Authentifikator die Anforderung aufgrund eines Netzwerkfehlers nicht berücksichtigen konnte
Hinweise
Ruft ein Authentifizierungstoken für ein Konto ab.
Wenn nicht null, enthält die resultierende Sätze Bundle unterschiedliche Schlüsselsätze, je nachdem, ob ein Token erfolgreich ausgestellt wurde und, wenn nicht, ob ein Token über einige android.app.Activityausgegeben werden könnte.
Wenn ein Token nicht ohne eine zusätzliche Aktivität bereitgestellt werden kann, sollte das Bundle mit einem zugeordneten IntentEnthalten AccountManager#KEY_INTENT sein. Auf der anderen Seite, wenn keine solche Aktivität vorhanden ist, dann sollte ein Bundle mit und AccountManager#KEY_ERROR_CODE AccountManager#KEY_ERROR_MESSAGE zurückgegeben werden.
Wenn ein Token erfolgreich ausgestellt werden kann, sollte die Implementierung sowohl das AccountManager#KEY_ACCOUNT_NAME mit AccountManager#KEY_ACCOUNT_TYPE dem Token verknüpfte Konto als auch das dem AccountManager#KEY_AUTHTOKENToken zugeordnete Konto zurückgeben. Darüber hinaus AbstractAccountAuthenticator können Implementierungen, die sich selbst android:customTokens=true deklarieren, auch einen nicht negativen #KEY_CUSTOM_TOKEN_EXPIRY long-Wert bereitstellen, der den Ablaufzeitstempel der Ablaufzeit (in Millis seit der Unix-Epoche) enthält, Token werden basierend auf dem Paketname/der Signatur der Anwendung für längere Zeit im Arbeitsspeicher zwischengespeichert.
Implementierungen sollten davon ausgehen, dass Token auf der Grundlage von Konto und authTokenType zwischengespeichert werden. Das System ignoriert möglicherweise den Inhalt des bereitgestellten Optionspakets, wenn ermittelt wird, dass ein zwischengespeichertes Token wiederverwenden soll. Darüber hinaus sollten Implementierungen davon ausgehen, dass eine bereitgestellte Ablaufzeit als unverbindliche Beratung behandelt wird.
Beachten Sie schließlich, dass Token für android:customTokens=false Authentifikatoren unbegrenzt zwischengespeichert werden, bis einige Clientaufrufe AccountManager#invalidateAuthToken(String,String)ausgeführt werden.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.