静默登录成功后可以使用authAccount.getAccessToken()方法获取AccessToken吗
Can the AccessToken Be Obtained by Using the authAccount.getAccessToken() Method After the Silent Login Is Successful
我正在集成华为帐号套件。我想知道是否可以使用下面的代码通过authAccount获取AccessToken:
private void silentSignIn() {
Task<AuthAccount> task = mAuthManager.silentSignIn();
task.addOnSuccessListener(new OnSuccessListener<AuthAccount>() {
@Override
public void onSuccess(AuthAccount authAccount) {
Log.i(TAG, "silentSignIn success");
Log.i(TAG, "touxiang: "+authAccount.getAvatarUriString());
}
});
task.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
//if Failed use getSignInIntent
if (e instanceof ApiException) {
ApiException apiException = (ApiException) e;
signIn();
}
}
});
}
谁能给点线索?
静默登录可以获得用户级AccessToken
首先你需要检查mAuthManager
对象是如何初始化的:
只有满足以下条件才能初始化mAuthManager
对象:
//Call the default constructor of HuaweiIdAuthParamsHelper to set authorization parameters.
AccountAuthParams silentSignInParams = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
.setAccessToken()
.createParams();
//Call the getService method of HuaweiIdAuthManager to initialize the HuaweiIdAuthService object.
AccountAuthService mAuthManager = AccountAuthManager.getService(getApplicationContext(), silentSignInParams);
//Call the HuaweiIdAuthService.silentSignIn method to send a silent sign-in request.
Task<AuthAccount> task = mAuthManager.silentSignIn();
初始化mAuthManager
对象时需要AccountAuthParams
对象。创建此对象时,必须设置.setAccessToken()
方法,使用authHuaweiId.getAccessToken()
方法获取用户级访问令牌。
- 您可以检查是否设置了
.setAccessToken()
方法。
我正在集成华为帐号套件。我想知道是否可以使用下面的代码通过authAccount获取AccessToken:
private void silentSignIn() {
Task<AuthAccount> task = mAuthManager.silentSignIn();
task.addOnSuccessListener(new OnSuccessListener<AuthAccount>() {
@Override
public void onSuccess(AuthAccount authAccount) {
Log.i(TAG, "silentSignIn success");
Log.i(TAG, "touxiang: "+authAccount.getAvatarUriString());
}
});
task.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
//if Failed use getSignInIntent
if (e instanceof ApiException) {
ApiException apiException = (ApiException) e;
signIn();
}
}
});
}
谁能给点线索?
静默登录可以获得用户级AccessToken
首先你需要检查
mAuthManager
对象是如何初始化的:只有满足以下条件才能初始化
mAuthManager
对象:
//Call the default constructor of HuaweiIdAuthParamsHelper to set authorization parameters.
AccountAuthParams silentSignInParams = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
.setAccessToken()
.createParams();
//Call the getService method of HuaweiIdAuthManager to initialize the HuaweiIdAuthService object.
AccountAuthService mAuthManager = AccountAuthManager.getService(getApplicationContext(), silentSignInParams);
//Call the HuaweiIdAuthService.silentSignIn method to send a silent sign-in request.
Task<AuthAccount> task = mAuthManager.silentSignIn();
初始化mAuthManager
对象时需要AccountAuthParams
对象。创建此对象时,必须设置.setAccessToken()
方法,使用authHuaweiId.getAccessToken()
方法获取用户级访问令牌。
- 您可以检查是否设置了
.setAccessToken()
方法。