Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使用Microsoft身份验证库(Msal)获取刷新令牌_Android_Single Sign On - Fatal编程技术网

如何在android中使用Microsoft身份验证库(Msal)获取刷新令牌

如何在android中使用Microsoft身份验证库(Msal)获取刷新令牌,android,single-sign-on,Android,Single Sign On,我正在尝试使用Microsoft Single sign-on登录我的android应用程序,使用提供的MSAL实现 立即创建 mApp = new PublicClientApplication(this.getApplicationContext(), API.CLIENT_ID, API.AUTHORITY); 当用户按下“使用Microsoft登录”选项时,我调用该方法获取令牌,如下所示 mApp.acquireToken(this, getResources().getStringA

我正在尝试使用Microsoft Single sign-on登录我的android应用程序,使用提供的MSAL实现

立即创建

mApp = new PublicClientApplication(this.getApplicationContext(), API.CLIENT_ID, API.AUTHORITY);
当用户按下“使用Microsoft登录”选项时,我调用该方法获取令牌,如下所示

mApp.acquireToken(this, getResources().getStringArray(R.array.msal_scopes), getAuthInteractiveCallback());
在onActivityResult中处理重定向请求之后,我在回调中获取身份验证响应,如下所示

private AuthenticationCallback getAuthInteractiveCallback() {
        return new AuthenticationCallback() {
            @Override
            public void onSuccess(AuthenticationResult authenticationResult) {
                /* Successfully got a token, use it to call a protected resource */
                accessToken = authenticationResult.getAccessToken();
                Log.d("AuthSuccess"," "+accessToken);
            }
            @Override
            public void onError(MsalException exception) {
                /* Failed to acquireToken */

                Log.d("AuthFail"," "+exception.getMessage());

                if (exception instanceof MsalClientException) {
                    /* Exception inside MSAL, more info inside MsalError.java */
                } else if (exception instanceof MsalServiceException) {
                    /* Exception when communicating with the STS, likely config issue */
                }
            }
            @Override
            public void onCancel() {
                /* User canceled the authentication */
            }
        };
    }

问题是,
AuthenticationResult
对象提供了
访问令牌
,但没有提供
刷新令牌
。对象的参数中没有刷新标记。我还需要进一步调用另一个方法来获取刷新令牌吗?如何使用MSAL从microsoft single sign-on获取访问和刷新令牌

当前,库未公开刷新令牌: