簡體   English   中英

在Android 2.3上運行時,AccountManager返回無效的auth_token

[英]AccountManager returns invalid auth_token when run on android 2.3

在Android 2.3上運行時,以下代碼段會生成無效的auth_token (通過https://accounts.google.com/o/oauth2/tokeninfo?access_token=進行驗證)。

使AccountManager返回有效帳戶的唯一方法是手動進行帳戶設置,然后刪除而不是添加現有的Google帳戶。 重新運行時,令牌將一直有效直到過期,然后再次出現相同的問題。 請注意,在具有Android 4.0及更高版本的設備上不會發生此問題。

你能幫忙解決這個問題嗎?

private static final String         SCOPE = "oauth2:https://www.googleapis.com/auth/userinfo.email";

accountManager.getAuthToken(googleAccountsMap.get(accountName), SCOPE, null, getActivity(),
                    new OnAuthTokenAcquired(), null);   


private class OnAuthTokenAcquired implements AccountManagerCallback<Bundle> {

    @Override
    public void run(AccountManagerFuture<Bundle> result) {
        try {
            Bundle bundle = result.getResult(); 
            String accountName = bundle.getString(AccountManager.KEY_ACCOUNT_NAME);
            String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);

該問題已解決。 對於那些遇到類似症狀的人,下面的鏈接描述了解決方案

AccountManager:invalidateAuthToken不會使令牌無效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM