Вызов / connect / userinfo возвращает ошибку «необработанное исключение: последовательность содержит более одного совпадающего элемента»

Я использую IdentityServer4, AspnetCore 2.1 и клиент angular 6

Все работает нормально, кроме вызова конечной точки userinfo

Просматривая свой журнал, я обнаружил следующие строки, которые, как я думал, могут быть указателями на то, как бороться с ошибкой. До сих пор я не добился успеха

StsServerIdentity>       Profile service returned the following claim 
types: sub name given_name family_name email role sub role role role 
preferred_username email email_verified
StsServerIdentity> crit: 
IdentityServer4.Hosting.IdentityServerMiddleware[0] 
StsServerIdentity>       Unhandled exception: Sequence contains more 
than one matching element
StsServerIdentity> System.InvalidOperationException: Sequence contains 
more than one matching element
StsServerIdentity>    at System.Linq.Enumerable.SingleOrDefault[TSource] 
(IEnumerable`1 source, Func`2 predicate)

с нетерпением жду руководства Спасибо

3
0
316
1

Ответы 1

Похоже, вы используете стороннее решение, и у него есть собственная реализация IProfileService, где дополнительное утверждение добавляется дважды и не различается. Вы можете попытаться отладить или выделить дополнительные утверждения (поскольку это основной идентификатор пользователя и должен быть уникальным) или попробовать исходный быстрый старт.

Другие вопросы по теме