Вопросы об удостоверениях в .NET 8 для опытных пользователей удостоверенийC#

Место общения программистов C#
Ответить
Anonymous
 Вопросы об удостоверениях в .NET 8 для опытных пользователей удостоверений

Сообщение Anonymous »

У меня есть пара вопросов, и я хотел бы, чтобы знающий пользователь Identity помог мне разобраться.
Некоторые части Identity настолько абстрагированы, что трудно отследить, что и что делает. а где, но я уверен, что после того, как будут даны ответы на эти вопросы, многое будет понятно.
Вопрос 1:
Меня смущает Создание ClaimsPrincipal, когда дело доходит до автоматического создания и сопоставления их с помощью создания внутренних утверждений платформы Identity.
Насколько я понял, при использовании UserManager.CreateAsync(), и практически всякий раз, когда вы используете методы платформы для создания пользователя, если вы создаете ClaimPrincipal (например, во время регистрации), выполнив var Principal = new ClaimsPrincipal(claimsIdentity(new Claim[]{...}));, а затем что-то вроде UserManager.AddClaimsAsync(principal), платформа автоматически попытается сопоставить каждое из свойств вашего ApplicationUser< /code> к внутренним утверждениям платформы ( MapInboundClaims ).
Это необходимо только при создании пользовательских Утверждения или лучше контролировать создание утверждений и, следовательно, представление пользователя в вашем приложении?
Кроме того, если вы не создадите это ClaimsPrincipal самостоятельно, где он создается??? Исходный код показывает, что UserManager.CreateAsync() возвращает IdentityResult, а не ClaimsPrincipal, так как же это работает?
Вопрос 2:
В исходном коде .AddIdentity() есть служба с ограниченной областью действия для IUserClaimsPrincipalFactory, для которого реализация имеет метод Task GenerateClaimsAsync(TUser user) ( source ), но он создает ClaimsIdentity, а не ClaimsPrincipal , так где ClaimsPrincipal создается и связан с пользователем (по идентификатору или добавлен в базу данных), если вы сами не сделаете его ClaimsPrincipal?
Вопрос 3:
Я использую .AddIdentity, а затем вызываю для него AddAuthentication().AddJwtBearer(). Я знаю, что AddIdentity уже вызывает .AddCookie() в исходном коде (source), но как я могу заставить приложение одновременно использовать cookie и jwt для приложения? Или мне вообще?
Должен ли я просто создать политику, чтобы веб-интерфейс использовал аутентификацию cookie, а мобильное приложение или другой интерфейс, не использующий браузер, должен использовать jwt? (мой источник, который пытался понять это, курс RawCoding: источник) и как это можно сделать?
Вопрос 4:
Как настроить параметры файла cookie при использовании AddIdentity и после этого я уже вызываю AddAuthentication().AddJwtBearer()? Должен ли я вызывать AddAuthentication().AddJwtBearer("", o => ...).AddCookie("", o => ...), даже если AddIdentity вызывает .AddCookie()< /code> несколько раз в исходном коде (source)?

Подробнее здесь: https://stackoverflow.com/questions/793 ... tity-users
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»