Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Co to jest sameSite?
SameSite jest właściwością, którą można ustawić w plikach cookie HTTP, aby zapobiec atakom fałszowania żądań między witrynami (CSRF) w aplikacjach internetowych.
- Gdy
SameSitejest ustawione na Lax, plik cookie jest wysyłany w żądaniach w tej samej witrynie oraz w żądaniach GET z innych witryn. Nie jest ona wysyłana w żądaniach GET, które są między domenami. - Wartość Strict gwarantuje, że plik cookie jest wysyłany w żądaniach tylko w obrębie tej samej witryny.
Domyślnie SameSite wartość NIE jest ustawiana w przeglądarkach i dlatego nie ma żadnych ograniczeń dotyczących plików cookie wysyłanych w żądaniach. Aplikacja musi wyrazić zgodę na ochronę CSRF, ustawiając wartość Lax lub Strict zgodnie z wymaganiami.
Zmiany SameSite i ich wpływ na uwierzytelnianie
Najnowsze aktualizacje standardów SameSite proponują ochronę aplikacji poprzez ustawienie domyślnego zachowania na Lax, gdy nie jest ustawiona żadna wartość. Ograniczenie to oznacza, że pliki cookie będą ograniczone do żądań HTTP, z wyjątkiem żądania GET pochodzącego z innych witryn. Ponadto wartość None jest wprowadzana w celu usunięcia ograniczeń dotyczących wysyłanych plików cookie. Te aktualizacje zostaną wkrótce wydane w nadchodzącej wersji przeglądarki Chrome.
Gdy aplikacje internetowe uwierzytelniają się przy użyciu Platforma tożsamości Microsoft przy użyciu trybu odpowiedzi "form_post", serwer logowania odpowiada aplikacji przy użyciu protokołu HTTP POST w celu wysyłania tokenów lub kodu uwierzytelniania. Ponieważ to żądanie jest zapytaniem między domenami (z login.microsoftonline.com do twojej domeny — na przykład https://contoso.com/auth), pliki cookie ustawione przez aplikację są teraz objęte nowymi zasadami w przeglądarce Chrome. Pliki cookie, które muszą być używane w scenariuszach obejmujących wiele witryn, to pliki cookie, które przechowują stan i nonce, które są również wysyłane w żądaniu logowania. Istnieją inne pliki cookie porzucone przez identyfikator Entra firmy Microsoft do przechowywania sesji.
Jeśli nie zaktualizujesz aplikacji internetowych, to nowe zachowanie spowoduje błędy uwierzytelniania.
Środki zaradcze i przykłady
Aby usunąć błędy uwierzytelniania, aplikacje internetowe uwierzytelniające się za pomocą platformy tożsamości Microsoft mogą ustawić właściwość SameSite na wartość None dla ciasteczek używanych w scenariuszach obejmujących wiele domen przy używaniu przeglądarki Chrome.
Inne przeglądarki (zobacz tutaj pełną listę) postępują zgodnie z poprzednim zachowaniem SameSite i nie będą uwzględniać plików cookie, jeśli SameSite=None jest ustawiony.
Dlatego w celu obsługi uwierzytelniania w wielu przeglądarkach aplikacje internetowe będą musiały ustawić wartość SameSite na None tylko w Chrome i pozostawić ją pustą w innych przeglądarkach.
Takie podejście przedstawiono w poniższym przykładowym kodzie.
W poniższej tabeli przedstawiono prośby o ściągnięcie, które rozwiązywały problem zmian SameSite w naszych przykładach ASP.NET i ASP.NET Core.
Aby uzyskać szczegółowe informacje na temat obsługi plików cookie sameSite w ASP.NET i ASP.NET Core, zobacz również:
Następne kroki
Dowiedz się więcej na temat scenariusza usługi SameSite i aplikacji internetowej: