2016-09-06 8 views
0

Я использую поток кода авторизации, и я пытаюсь получить информацию о пользователе, используя конечную точку пользовательской информации, но я не получаю претензий. Я включил IncludeInIdToken для некоторых утверждений, таких как электронная почта профиля имени, и когда декодирование Idtoken я не смог увидеть вышеуказанные утверждения. Я попытался отладить метод GetProfileDataAsync, здесь я обнаружил, что свойство «Имя» имеет значение null, так как я использую группу AD, мне нужно это свойство Name здесь. Я попытался сохранить «Имя» в глобальной переменной в методе LocalLoginAsync и использовал то же самое в методе GetProfileDataAsync. Теперь я добавил претензии к TaskResult, но я получаю количество «0» в ответIdentity server3: Информация о пользователе endpoint возвращает null Претензии

Когда я прошу для маркеров с помощью кода я могу увидеть следующий результат в пп

Claims

, и я не в состоянии видеть эти требования в IdToken, Id_token

Далее, время, когда запрос с использованием информации о пользователе конечной точке, используя маркер доступа, я не получаю каких-либо претензий, кроме «суб» или нет собственности Name.

Как я могу получить Претензию с Информацией о пользователе ответа конечной

ответ

0

Я попытался с помощью отладки коды и нашел этот вопрос, так как я делаю ошибку, как

возвратного Task.FormResult (identity.Claims .где (X => context.RequestedClaimTypes.Contains (x.Types)));

вместо того, чтобы делать

context.IssuedClaims = identity.Claims.where (X => context.RequestedClaimTypes.Contains (x.Types)); return Task.FromResult (0);

Но до сих пор я получаю свойство имени пользователя (Name) с нулевой информацией пользователя конечной точкой ..,

0

Я предполагаю, что вы запрашиваете на profile области в вашем запросе. Если это так, то username не является допустимой областью действия и не является частью list of standard claims для этой области. вы должны переименовать свои претензии в nickname или preferred_username

Смежные вопросы