带有 Google Play 游戏服务的 OAuth 令牌

Posted

技术标签:

【中文标题】带有 Google Play 游戏服务的 OAuth 令牌【英文标题】:OAuth token with Google Play Game Services 【发布时间】:2013-07-17 19:27:49 【问题描述】:

有没有办法获取用于使用 Google Play 游戏服务登录用户的令牌?

我正在寻找类似的东西:

@Override
public void onSignInSucceeded() 
    String email = getGamesClient().getCurrentAccountName();
    String token = getGamesClient().getToken();

当用户联系我自己的服务器时,我需要它来验证用户身份。

【问题讨论】:

【参考方案1】:

这就是我设法获得令牌的方式:

@Override
public void onSignInSucceeded() 
    String email = getGamesClient().getCurrentAccountName();
    String scopes = getScopes();
    new registerBackground(getApplicationContext()).execute(email, scopes);



private class registerBackground extends AsyncTask<String, Void, Void> 
    Context context;
    registerBackground (Context context) 
        this.context = context;
    

    @Override
    protected Void doInBackground(String... params) 
        try 
            String oAuthToken = GoogleAuthUtil.getToken(context, params[0], params[1]);
            ...
        catch (Exception e) 
            e.printStackTrace();
        
    

    ...

【讨论】:

感谢分享,完美运行。您是否实现了最新版本,正如 Google 所说的 GoogleAuthUtil.getToken(...) 方法现在不安全 :-( 我不需要访问 Google API 的服务器端,只是为了验证令牌,所以也许它是安全的目的? 不安全:developers.google.com/identity/sign-in/android/… ... ? @poirot 还没有花时间。如果您对新方法有任何成功,请在此处更新。 :) 在这里查看我自己对自己问题的回答 (***.com/questions/40069681/…) 我终于找到了解决方案!我花了几天时间才弄清楚:-D

以上是关于带有 Google Play 游戏服务的 OAuth 令牌的主要内容,如果未能解决你的问题,请参考以下文章

带有 Google Play 游戏服务和 IntentService 的回合制安卓游戏

带有 Room 数据库的 Google play 游戏服务

Google Play 游戏服务多人游戏和后端

Google Play 游戏服务登录按钮吐出“未知错误”

Google Play 游戏服务应用程序登录卡在白屏上

Google Play 游戏服务,SHA1 公版要添加哪个密钥?