1

https://github.com/Azure-Samples/active-directory-androidの ADAL を使用してい ます

私のコードはサンプルを非常によく模倣しています

        mAuthContext.acquireToken(ToDoActivity.this, Constants.RESOURCE_ID,
                Constants.CLIENT_ID, Constants.REDIRECT_URL, Constants.USER_HINT,
                new AuthenticationCallback<AuthenticationResult>() {

                    @Override
                    public void onError(Exception exc) {
                        if (mLoginProgressDialog.isShowing()) {
                            mLoginProgressDialog.dismiss();
                        }
                        Toast.makeText(getApplicationContext(),
                                TAG + "getToken Error:" + exc.getMessage(), Toast.LENGTH_SHORT)
                                .show();
                        navigateToLogOut();
                    }

                    @Override
                    public void onSuccess(AuthenticationResult result) {
                        if (mLoginProgressDialog.isShowing()) {
                            mLoginProgressDialog.dismiss();
                        }

                        if (result != null && !result.getAccessToken().isEmpty()) {
                            setLocalToken(result);
                            sendRequest();
                        } else {
                            navigateToLogOut();
                        }
                    }
                });

ユーザーの電子メール アドレスを渡しますが、ユーザーがそれを変更して別のアドレスを使用すると、onSuccess の ADAL ライブラリはユーザーが変更したことを通知しません。AuthenticationResult には、ユーザーの名/姓の電子メールなどを含む mUserInfo を呼び出すフィールドがあります。

しかし、私にとっては、ログインに成功するたびに mUserInfo=null です。

ADAL が完全に設定された mUserInfo オブジェクトを返すようにする方法を知っている人はいますか?

ありがとうトム

4

1 に答える 1

0

Userinfo は、サーバーから返された ID_token から構築されます。adfs blue (3.0) の場合、ID_token が返されないため、IDP でサインインしたユーザーを正確に知ることはできません。アップグレードできる場合、Adfs しきい値は ID_token をサポートします。

于 2016-04-20T15:17:22.497 に答える