如何从Google登录中获取身份验证令牌?

时间:2019-07-29 19:15:08

标签: android android-studio oauth-2.0 googlesigninaccount

我正在尝试找出如何从android上的google登录获取admin sdk的身份验证令牌。

我可以使用google登录获取帐户信息,也可以通过电话请求权限。每当我尝试获取信息时,都会说该请求没有所需的授权。

在获得许可后:

boolean validateSpinner(Spinner spinner, String error){

    View selectedView = spinner.getSelectedView();
    if (selectedView != null && selectedView instanceof TextView) {
        TextView selectedTextView = (TextView) selectedView;
        if (selectedTextView.getText().equals("Select Academic Year")) {
            selectedTextView.setError(error);
            Toast.makeText(this, error, Toast.LENGTH_LONG).show();
            return false;
        }
    }
    return true;
}

并使用onActivityResult方法重新获得该帐户:

GoogleSignIn.requestPermissions(activity, requestCode, account, *scopes)

所以我很确定我需要获取一个auth令牌,但是我不确定如何获取它?

2 个答案:

答案 0 :(得分:0)

配置Google登录后,您需要调用requestIdToken方法并将其传递给服务器的Web客户端ID。然后,您的后端服务器可以使用此令牌进行身份验证。

Task<GoogleSignInAccount>结果应包含一个GoogleSignInAccount对象,该对象具有一个getIdToken()方法,可以将其发送到后端服务器:
https://developers.google.com/identity/sign-in/android/backend-auth

答案 1 :(得分:0)

因此,我最终使用了名为appauth的库来解决这个问题。它允许您登录并获取oauth服务器的访问令牌。