我正在尝试找出如何从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令牌,但是我不确定如何获取它?
答案 0 :(得分:0)
配置Google登录后,您需要调用requestIdToken方法并将其传递给服务器的Web客户端ID。然后,您的后端服务器可以使用此令牌进行身份验证。
Task<GoogleSignInAccount>
结果应包含一个GoogleSignInAccount
对象,该对象具有一个getIdToken()
方法,可以将其发送到后端服务器:
https://developers.google.com/identity/sign-in/android/backend-auth
答案 1 :(得分:0)
因此,我最终使用了名为appauth的库来解决这个问题。它允许您登录并获取oauth服务器的访问令牌。