Авторизация файлов cookie ASP.NETC#

Место общения программистов C#
Ответить
Anonymous
 Авторизация файлов cookie ASP.NET

Сообщение Anonymous »

Мне не удается понять, почему мой пользователь никогда не проходит аутентификацию во внешнем интерфейсе.
Я делаю вызов API «Вход», где получаю токен jwt, сгенерированный во внутреннем интерфейсе. Я вручную сохраняю токен в файлах cookie.
Проблема возникает, когда мне нужно получить доступ к действию контроллера во внешнем интерфейсе (со страницы Razor) с помощью [Авторизовать] атрибут, и я никогда не смогу это сделать, поскольку пользователь не аутентифицирован.
Обязательно ли запускать httpContext.SigInAsyn()? Я видел некоторые приложения, в которых это не выполняется, но пользователь тем не менее каким-то образом аутентифицируется.
Что мне не хватает?
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.LoginPath = "/auth";
options.AccessDeniedPath = "/auth/accessdenied";
options.Cookie.IsEssential = true;
options.SlidingExpiration = true;
double expiresIn = 3600;
options.ExpireTimeSpan = TimeSpan.FromSeconds(expiresIn);
options.Cookie.Name = SConstants.JWT_COOKIE_NAME;
options.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.Strict;
});

// middleware

app.UseRouting();

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});

Что я делаю с токеном из серверной части:
HttpContext.Response
.Cookies
.Append(SConstants.JWT_COOKIE_NAME,
access_token,
new CookieOptions
{
HttpOnly = true,
Secure = true
});


Подробнее здесь: https://stackoverflow.com/questions/791 ... on-asp-net
Ответить

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

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

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

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

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