AbstractAccountAuthenticator.GetAuthToken Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um authtoken para uma conta.
[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
Parâmetros
- response
- AccountAuthenticatorResponse
para enviar o resultado de volta para o AccountManager, nunca será nulo
- account
- Account
A conta cujas credenciais devem ser recuperadas, nunca será nula
- authTokenType
- String
O tipo de token de autenticação a ser recuperado, nunca será nulo
- options
- Bundle
um pacote de opções específicas do autenticador. Ele sempre contém AccountManager#KEY_CALLER_PID
e AccountManager#KEY_CALLER_UID
campos que permitirão ao autenticador saber a identidade do chamador.
Retornos
um resultado de pacote ou null se o resultado for retornado por meio da resposta.
- Atributos
Exceções
se o autenticador não pôde atender à solicitação devido a um erro de rede
Comentários
Obtém um authtoken para uma conta.
Caso contrário null
, o resultado Bundle
conterá diferentes conjuntos de chaves, dependendo se um token foi emitido com sucesso e, se não, se um poderia ser emitido por meio de algum android.app.Activity
.
Se um token não puder ser fornecido sem alguma atividade adicional, o Bundle deverá conter AccountManager#KEY_INTENT
um Intent
arquivo . Por outro lado, se não houver tal atividade, então um Bundle contendo AccountManager#KEY_ERROR_CODE
e AccountManager#KEY_ERROR_MESSAGE
deve ser devolvido.
Se um token puder ser emitido com êxito, a implementação deverá retornar o AccountManager#KEY_ACCOUNT_NAME
e AccountManager#KEY_ACCOUNT_TYPE
da conta associada ao token, bem como o AccountManager#KEY_AUTHTOKEN
. Além disso AbstractAccountAuthenticator
, implementações que se android:customTokens=true
declaram também podem fornecer um valor longo não negativo #KEY_CUSTOM_TOKEN_EXPIRY
contendo o carimbo de data/hora de expiração do tempo de expiração (em millis desde a época unix), os tokens serão armazenados em cache na memória com base no packageName/signature do aplicativo por quanto tempo foi especificado.
Os implementadores devem assumir que os tokens serão armazenados em cache com base na conta e no authTokenType. O sistema pode ignorar o conteúdo do pacote de opções fornecido ao determinar a reutilização de um token armazenado em cache. Além disso, os implementadores devem assumir que um tempo de expiração fornecido será tratado como aconselhamento não vinculativo.
Finalmente, observe que, para android:customTokens=false
autenticadores, os tokens são armazenados em cache indefinidamente até que alguns clientes chamem AccountManager#invalidateAuthToken(String,String)
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.