Udostępnij za pośrednictwem


Przekazywanie niestandardowego stanu w żądaniach uwierzytelniania za pomocą MSAL.js

Parametr stanu , zgodnie z definicją protokołu OAuth 2.0, jest uwzględniony w żądaniu autoryzacji i jest również zwracany w odpowiedzi na token, aby zapobiec atakom fałszerstwa żądań międzywitrynowych. Domyślnie biblioteka Microsoft Authentication Library for JavaScript (MSAL.js) przekazuje losowo wygenerowaną unikalną wartość parametru state w żądaniach uwierzytelniania.

Parametr stanu może również służyć do kodowania informacji o stanie aplikacji przed przekierowaniem. Możesz przekazać stan użytkownika w aplikacji, na przykład stronę lub widok, na którym znajdowały się, jako dane wejściowe tego parametru. Biblioteka MSAL.js umożliwia przekazanie stanu niestandardowego jako parametru stanu w obiekcie Request. Na przykład:

import {PublicClientApplication} from "@azure/msal-browser";

const myMsalObj = new PublicClientApplication({
    clientId: "ENTER_CLIENT_ID_HERE"
});

let loginRequest = {
    scopes: ["user.read"],
    state: "page_url"
}

myMSALObj.loginRedirect(loginRequest);

Przekazany stan jest dołączany do unikatowego zestawu identyfikatorów GUID określonego przez MSAL.js podczas wysyłania żądania. Gdy odpowiedź zostanie zwrócona, MSAL.js sprawdza zgodność stanu, po czym zwraca dostosowany przekazany stan w obiekcie Response jako state.

Następne kroki

Dowiedz się więcej, tworząc jednostronicową aplikację React SPA, która loguje użytkowników w niniejszej wieloczęściowej serii tutoriali .