У меня есть пара вопросов, и я хотел бы, чтобы знающий пользователь 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
Вопросы об удостоверениях в .NET 8 для опытных пользователей удостоверений ⇐ C#
Место общения программистов C#
1736631933
Anonymous
У меня есть пара вопросов, и я хотел бы, чтобы знающий пользователь Identity помог мне разобраться.
Некоторые части Identity настолько абстрагированы, что трудно отследить, что и что делает. а где, но я уверен, что после того, как будут даны ответы на эти вопросы, многое будет понятно.
[b]Вопрос 1:[/b]
Меня смущает Создание ClaimsPrincipal, когда дело доходит до автоматического создания и сопоставления их с помощью создания внутренних утверждений платформы Identity.
Насколько я понял, при использовании UserManager.CreateAsync(), и практически всякий раз, когда вы используете методы платформы для создания пользователя, если вы создаете ClaimPrincipal (например, во время регистрации), выполнив var Principal = new ClaimsPrincipal(claimsIdentity(new Claim[]{...}));, а затем что-то вроде UserManager.AddClaimsAsync(principal), платформа автоматически попытается сопоставить каждое из свойств вашего ApplicationUser< /code> к внутренним утверждениям платформы ( MapInboundClaims ).
Это необходимо только при создании пользовательских Утверждения или лучше контролировать создание утверждений и, следовательно, представление пользователя в вашем приложении?
Кроме того, если вы не создадите это ClaimsPrincipal самостоятельно, где он создается??? Исходный код показывает, что UserManager.CreateAsync() возвращает IdentityResult, а не ClaimsPrincipal, так как же это работает?
[b] Вопрос 2:[/b]
В исходном коде .AddIdentity() есть служба с ограниченной областью действия для IUserClaimsPrincipalFactory, для которого реализация имеет метод Task GenerateClaimsAsync(TUser user) ( source ), но он создает ClaimsIdentity, а не ClaimsPrincipal , так где ClaimsPrincipal создается и связан с пользователем (по идентификатору или добавлен в базу данных), если вы сами не сделаете его ClaimsPrincipal?
[b]Вопрос 3:[/b]
Я использую .AddIdentity, а затем вызываю для него AddAuthentication().AddJwtBearer(). Я знаю, что AddIdentity уже вызывает .AddCookie() в исходном коде (source), но как я могу заставить приложение одновременно использовать cookie и jwt для приложения? Или мне вообще?
Должен ли я просто создать политику, чтобы веб-интерфейс использовал аутентификацию cookie, а мобильное приложение или другой интерфейс, не использующий браузер, должен использовать jwt? (мой источник, который пытался понять это, курс RawCoding: источник) и как это можно сделать?
[b]Вопрос 4:[/b]
Как настроить параметры файла cookie при использовании AddIdentity и после этого я уже вызываю AddAuthentication().AddJwtBearer()? Должен ли я вызывать AddAuthentication().AddJwtBearer("", o => ...).AddCookie("", o => ...), даже если AddIdentity вызывает .AddCookie()< /code> несколько раз в исходном коде (source)?
Подробнее здесь: [url]https://stackoverflow.com/questions/79348946/questions-about-identity-in-net-8-for-advanced-identity-users[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия