首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Auth.GoogleSignInApi作为GoogleAuthUtil取代google +登录

Auth.GoogleSignInApi作为GoogleAuthUtil取代google +登录
EN

Stack Overflow用户
提问于 2016-07-21 07:09:52
回答 1查看 883关注 0票数 1

我的目标是使用Google登录BaaS,BaaS需要通过googleSignInAccount.getIdToken()和accessToken进行tokenId。

GoogleAuthUtil.getToken(activity, accountName, scopes);被折旧,并被用于获取accessToken。

GoogleAuthUtil.invalidateToken(activity, token);也被贬值。

获得accessToken和无效(现在需要失效)的替代方法是什么?

我知道并尝试过:GoogleAuthUtil.getToken(Context, Account, String);GoogleAuthUtil.clearToken(activity, token);

帐户似乎需要第一部分的许可(因此不是一个选项) Ex。account = new Account(googleSignInAccount.getEmail(), "com.google");也不知道clear是否是无效的同义词(似乎适用于折旧的方法,但我不知道结果如何),或者是否还有其他的调用/api可供使用。

来自:com.google.android.gms.auth.api.Auth

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-02 11:50:54

Google站点有一个关于从GoogleAuthUtil.getToken迁移的页面

https://developers.google.com/identity/sign-in/android/migration-guide

此代码不再完全使用折旧后的API。

代码语言:javascript
复制
    private void loginInBackendless(final GoogleSignInAccount acct) {
    Log.d(TAG, "handleSignInResult: try login to backendless");

    //final MainActivity mainActivity = (MainActivity)this.getActivity();
    //final String accountName = acct.getEmail();
    final String scopes = "oauth2:" + Scopes.PLUS_LOGIN + " " + Scopes.PLUS_ME + " " + Scopes.PROFILE + " " + Scopes.EMAIL;
    final FragmentActivity fragmentActivity = this;
    AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
        @Override
        protected String doInBackground(Void... params) {
            String token = null;
            try {
                token = GoogleAuthUtil.getToken(fragmentActivity, acct.getAccount(), scopes);
                GoogleAuthUtil.clearToken(fragmentActivity, token);
                handleAccessTokenInBackendless(acct.getIdToken(), token);
            } catch (UserRecoverableAuthException e) {
                startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return token;
        }
    };

    task.execute();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38497317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档