Size: a a a

2021 June 07

EA

Egene Avdeev in CODE BLOG / C#
Так, мысли прочь
источник

АМ

Андрей Мацко... in CODE BLOG / C#
Коллеги, кто нибудь может направить в нужном направлении. По гайдам написал WebApi Core для авторизации JWT. Через сваггер апи работает. Как мне теперь прикрутить в другом проекте mvc core чтобы авторизация проходила черех этот апи.
источник

ZK

Zhenya Kornelyuk in CODE BLOG / C#
Тянешь токен, сохраняешь его в какое-то хранилище и передаешь с запросом
источник

АМ

Андрей Мацко... in CODE BLOG / C#
Сделал форму, для входа, отправил запрос на свой API, получил токен, встроил в конвеер
//Add JWToken to all incoming HTTP Request Header
           app.Use(async (context, next) =>
           {
               var JWToken = context.Session.GetString("JWToken");
               if (!string.IsNullOrEmpty(JWToken))
               {
                   context.Request.Headers.Add("Authorization", "Bearer " + JWToken);
               }
               await next();
           });
источник

АМ

Андрей Мацко... in CODE BLOG / C#
один из методов пометил атрибутом [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
источник

АМ

Андрей Мацко... in CODE BLOG / C#
и все, просто выдает 401 ошибку
источник

ND

Nikolajs Djačenko in CODE BLOG / C#
Если я правильно понял вопрос, то тебе нужна аутентификация с кастомным 3rd party bearer’om
источник

ND

Nikolajs Djačenko in CODE BLOG / C#
У тебя же щас я так понимаю два бэкэнда? Один для MVC и второй тот самый Web api?
источник

АМ

Андрей Мацко... in CODE BLOG / C#
м-м, мне это ничего не говорит )))
источник

АМ

Андрей Мацко... in CODE BLOG / C#
2 отдельных проекта
источник

АМ

Андрей Мацко... in CODE BLOG / C#
один webapi mvc core который реализует JWT
источник

АМ

Андрей Мацко... in CODE BLOG / C#
и второй просто сайт mvc core, на котором надо разграничивать пользователей
источник

ND

Nikolajs Djačenko in CODE BLOG / C#
Так, а эта авторизация где, кому и в какой момент нужна?
источник

АМ

Андрей Мацко... in CODE BLOG / C#
источник

ZK

Zhenya Kornelyuk in CODE BLOG / C#
Да обычная тоже вполне себе работает, смотри на реквест, все ли там нормально
источник

АМ

Андрей Мацко... in CODE BLOG / C#
в ConfigureServices настройка авторизации, не понятно что за адреса используются
источник

ZK

Zhenya Kornelyuk in CODE BLOG / C#
Авторизацию через полиси настраиваешь, аутентификация по токену
источник

ZK

Zhenya Kornelyuk in CODE BLOG / C#
Что именно ?
источник

АМ

Андрей Мацко... in CODE BLOG / C#
//Provide a secret key to Encrypt and Decrypt the Token
   var SecretKey = Encoding.ASCII.GetBytes
        ("YourKey-2374-OFFKDI940NG7:56753253-tyuw-5769-0921-kfirox29zoxv");
   //Configure JWT Token Authentication
   services.AddAuthentication(auth =>
   {
       auth.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
       auth.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
   })
   .AddJwtBearer(token =>
   {
       token.RequireHttpsMetadata = false;
       token.SaveToken = true;
       token.TokenValidationParameters = new TokenValidationParameters
       {
           ValidateIssuerSigningKey = true,
           //Same Secret key will be used while creating the token
           IssuerSigningKey = new SymmetricSecurityKey(SecretKey),
           ValidateIssuer = true,
           //Usually, this is your application base URL
           ValidIssuer = "http://localhost:45092/",
           ValidateAudience = true,
           //Here, we are creating and using JWT within the same application.
           //In this case, base URL is fine.
           //If the JWT is created using a web service, then this would be the consumer URL.
           ValidAudience = "http://localhost:45092/",
           RequireExpirationTime = true,
           ValidateLifetime = true,
           ClockSkew = TimeSpan.Zero
       };
   });
источник

АМ

Андрей Мацко... in CODE BLOG / C#
ValidIssuer = "http://localhost:45092/", и   ValidAudience = "http://localhost:45092/",
источник