Freigeben über


AbstractAccountAuthenticator.GetAuthToken Methode

Definition

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.

Java-Dokumentation für android.accounts.AbstractAccountAuthenticator.getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle).

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.

Gilt für: