• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłanie wartości ciasteczka w headerze

Object Storage Arubacloud
+1 głos
456 wizyt
pytanie zadane 16 lipca 2021 w JavaScript przez Szyszka Gaduła (3,490 p.)
Witam. Mam taki problem, że przechowuję swój access token w ciasteczku httpOnly. Ale żeby się autoryzować, muszę wysłać ten token w headerze Authorization. Ale jak mam tego dokonać, skoro ciasteczko jest httpOnly i nie mogę pobrać jego wartości przez JavaScript? Może jest przeznaczony do tego jakiś nieznany mi header?

1 odpowiedź

+2 głosów
odpowiedź 16 lipca 2021 przez Comandeer Guru (601,110 p.)
wybrane 16 lipca 2021 przez Szyszka
 
Najlepsza

Nie ma. Coś jest nie tak z projektem, jeśli ten sam token jest w ciasteczku, a równocześnie musisz go przesyłać w nagłówku Authorization. W takim wypadku raczej serwer powinien po prostu akceptować ciasteczko, które przyjdzie wraz z requestem.

Albo rób żądania przez swój backend. Wówczas pełniłby rolę proxy, które by dodawało odpowiednie nagłówki.

1
komentarz 16 lipca 2021 przez Szyszka Gaduła (3,490 p.)
edycja 16 lipca 2021 przez Szyszka

O, nie przyszło mi to na myśl. Rozwiązanie dla C#:

            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultForbidScheme = JwtBearerDefaults.AuthenticationScheme;
            }).
                AddJwtBearer(options =>
                {
                    options.SaveToken = true;
                    options.TokenValidationParameters = new TokenValidationParameters
                    {
                        ValidateIssuer = true,
                        ValidateAudience = true,
                        ValidateLifetime = true,
                        ValidateIssuerSigningKey = true,
                        RequireExpirationTime = true,
                        ValidAudience = JWTConfig.ValidAudience,
                        ValidIssuer = JWTConfig.ValidIssuer,
                        IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(JWTConfig.SecretKey)),
                        ClockSkew = TimeSpan.FromSeconds(10),
                        NameClaimType = JwtClaimTypes.NickName
                    };
                    options.Events = new JwtBearerEvents
                    {
                        OnMessageReceived = context =>
                        {
                            context.Token = context.Request.Cookies["accessToken"];

                            return Task.CompletedTask;
                        }
                    };
                });

 

Podobne pytania

0 głosów
1 odpowiedź 192 wizyt
+2 głosów
0 odpowiedzi 363 wizyt
pytanie zadane 12 lipca 2021 w JavaScript przez Szyszka Gaduła (3,490 p.)
0 głosów
1 odpowiedź 611 wizyt
pytanie zadane 8 kwietnia 2020 w JavaScript przez Paproch Użytkownik (700 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...