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
字段,这些字段将让验证器知道调用方的身份。
返回
如果通过响应返回结果,则为捆绑结果或 null。
- 属性
例外
如果验证器因网络错误而无法接受请求,则
注解
获取帐户的身份验证。
null
否则,生成的Bundle
密钥将包含不同的密钥集,具体取决于令牌是否已成功颁发,如果不是,则是否可以通过某些android.app.Activity
密钥颁发。
如果在没有其他活动的情况下无法提供令牌,则捆绑包应包含 AccountManager#KEY_INTENT
关联的 Intent
令牌。 另一方面,如果没有此类活动,则包含并AccountManager#KEY_ERROR_MESSAGE
应返回一AccountManager#KEY_ERROR_CODE
个捆绑包。
如果成功颁发令牌,则实现应返回AccountManager#KEY_ACCOUNT_NAME
AccountManager#KEY_ACCOUNT_TYPE
与令牌以及令牌关联的帐户和帐户AccountManager#KEY_AUTHTOKEN
。 AbstractAccountAuthenticator
此外,声明本身android:customTokens=true
的实现还可以提供一个非负#KEY_CUSTOM_TOKEN_EXPIRY
长值,其中包含过期时间(自 unix 纪元以来的 millis),令牌将基于应用程序的 packageName/signature 缓存在内存中,但指定的时间长。
实现者应假定令牌将基于帐户和 authTokenType 进行缓存。 在确定重复使用缓存令牌时,系统可能会忽略所提供的选项捆绑包的内容。 此外,实施者应假定提供的过期时间将被视为非绑定建议。
最后,请注意,对于 android:customTokens=false
验证器,令牌将无限期缓存,直到某些客户端调用 AccountManager#invalidateAuthToken(String,String)
。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。