Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET Core
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 11.01.2019
Сообщений: 72

Почему добавление ASP.NET Identity мешает JWT аутентификации?

01.03.2021, 16:47. Показов 2679. Ответов 4

Студворк — интернет-сервис помощи студентам
Добавил JWT аутентификации, все работало верно. Потом решил добавить поддержку ролей с помощью ASP.NET Identity и все сломалось.
Например запрос к методу контроллера:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        [HttpGet]
        [Authorize]
        public IEnumerable<WeatherForecast> Get()
        {
            var rng = new Random();
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
                {
                    Date = DateTime.Now.AddDays(index),
                    TemperatureC = rng.Next(-20, 55),
                    Summary = Summaries[rng.Next(Summaries.Length)]
                })
                .ToArray();
        }
выдает такой ответ:


Но если убрать регистрацию Identity, все начинает работать:
C#
1
2
3
//services.AddIdentity<AppUser, IdentityRole>(options => 
//                     options.User.RequireUniqueEmail = true)
//                 .AddEntityFrameworkStores<AppDbContext>();
Ссылку на github: https://github.com/DannYHF/Mon... eyTracking

Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2021, 16:47
Ответы с готовыми решениями:

ASP.NET Core Identity - Из коробки или добавление самостоятельно
Всем добрый вечер. Отталкиваясь от учебных пособий в сети, существует мнение, что оптимальнее добавлять идентификацию самостоятельно, не...

JWT аутентификация ASP.NET Core
Здравствуйте. Кто-нибудь может рассказать, как сделать JWT-аутентификацию на сайте, работающем на ASP.NET Core? Вообще саму...

Asp.net core identity
Добрый день. В своем проекте я хочу использовать двухуровневую систему - Web(MVC) и DAL(library) Если я создаю проект по умолчанию с...

4
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
01.03.2021, 17:50
DannYHF,
.. посмотрите вот тут
/using-asp-net-core-identity-and-jwt

... у вас на UserController стоит атрибут [AllowAnonymous] ..?
0
1 / 1 / 0
Регистрация: 11.01.2019
Сообщений: 72
01.03.2021, 18:11  [ТС]
В общем помогла настройка JWT.
Так не работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
           services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddJwtBearer(options =>
                {
                    options.RequireHttpsMetadata = false;
                    options.TokenValidationParameters = new()
                    {
                        ValidateIssuer =  true,
                        ValidIssuer =  AuthOptions.Issuer,
                        
                        ValidateAudience = true,
                        ValidAudience = AuthOptions.Audience,
                        
                        ValidateLifetime = true,
                        
                        IssuerSigningKey =  new SymmetricSecurityKey(Encoding.ASCII.GetBytes(AuthOptions.SecretKey)),
                        ValidateIssuerSigningKey = true
                    };
                });
Так работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            services.AddAuthentication(opt =>
            {
                opt.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                opt.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer = false,
                    ValidateAudience = false,
                    ValidateLifetime = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer =AuthOptions.Issuer,
                    ValidAudience = AuthOptions.Audience,
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(AuthOptions.SecretKey))
                };
            });
0
 Аватар для IamRain
4693 / 2701 / 734
Регистрация: 02.08.2011
Сообщений: 7,227
01.03.2021, 18:13
DannYHF, попробуйте расскоментировать и добавить:
C#
1
2
3
4
 services.AddIdentity<AppUser, IdentityRole>(options => 
                     options.User.RequireUniqueEmail = true)
                 .AddEntityFrameworkStores<AppDbContext>()
                 .AddDefaultTokenProviders(); // <--- это оно
И контроллер пометить атрибутом Authorize, выбрав нужную схему аутентификации.
C#
1
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
1
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
03.03.2021, 21:41
Цитата Сообщение от DannYHF Посмотреть сообщение
ValidateIssuer = false,
ValidateAudience = false,
уверен что это безопасно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.03.2021, 21:41
Помогаю со студенческими работами здесь

Identity в ASP.NET Core 2.0
Доброе время суток. Пытаюсь реализовать авторизацю с помощью Identity на asp.net core 2.0. Но столкнулся с проблемой, что у пользователя...

ASP.NET Identity (Vue.JS)
Всем привет. Пишу SPA-приложение на Vue.JS. Создал регистрацию и вход через запрос Axios (аналогично AJAX-запросу). Ранее писал...

ASP.NET Identity и идентификация пользователя в БД
Имеем: ASP.NET MVC5, авторизация на сайте с помощью &quot;родного&quot; ASP.NET Identity, SQL Server (Azure). Требование заказчика - для каждой...

Миграция в ASP.NET MVC 5 с Identity
Есть проект ASP.net MVC 5 c индивидуальными учетными записями, пару моделей и контекст для них. Пытаюсь включить миграции...

ASP.NET Identity. Информация о пользователе
Всем привет. Пишу приложение на ASP.NET Core. Работаю с ASP.NET Identity. Теперь вопрос. Как мне хранить дополнительную информацию о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru