AbstractAccountAuthenticator.GetAuthToken 方法

定义

获取帐户的身份验证。

[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_PIDAccountManager#KEY_CALLER_UID字段,这些字段将让验证器知道调用方的身份。

返回

如果通过响应返回结果,则为捆绑结果或 null。

属性

例外

如果验证器因网络错误而无法接受请求,则

注解

获取帐户的身份验证。

null否则,生成的Bundle密钥将包含不同的密钥集,具体取决于令牌是否已成功颁发,如果不是,则是否可以通过某些android.app.Activity密钥颁发。

如果在没有其他活动的情况下无法提供令牌,则捆绑包应包含 AccountManager#KEY_INTENT 关联的 Intent令牌。 另一方面,如果没有此类活动,则包含并AccountManager#KEY_ERROR_MESSAGE应返回一AccountManager#KEY_ERROR_CODE个捆绑包。

如果成功颁发令牌,则实现应返回AccountManager#KEY_ACCOUNT_NAMEAccountManager#KEY_ACCOUNT_TYPE与令牌以及令牌关联的帐户和帐户AccountManager#KEY_AUTHTOKENAbstractAccountAuthenticator此外,声明本身android:customTokens=true的实现还可以提供一个非负#KEY_CUSTOM_TOKEN_EXPIRY长值,其中包含过期时间(自 unix 纪元以来的 millis),令牌将基于应用程序的 packageName/signature 缓存在内存中,但指定的时间长。

实现者应假定令牌将基于帐户和 authTokenType 进行缓存。 在确定重复使用缓存令牌时,系统可能会忽略所提供的选项捆绑包的内容。 此外,实施者应假定提供的过期时间将被视为非绑定建议。

最后,请注意,对于 android:customTokens=false 验证器,令牌将无限期缓存,直到某些客户端调用 AccountManager#invalidateAuthToken(String,String)

适用于 . 的 android.accounts.AbstractAccountAuthenticator.getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于