Udostępnij za pośrednictwem


Przekazywanie stanu niestandardowego w żądaniach uwierzytelniania przy użyciu MSAL.js

Parametr stanu, zgodnie z definicją protokołu OAuth 2.0, jest uwzględniony w żądaniu uwierzytelniania i jest również zwracany w odpowiedzi tokenu, aby zapobiec atakom fałszerzowania żądań między lokacjami. Domyślnie biblioteka Microsoft Authentication Library for JavaScript (MSAL.js) przekazuje losowo wygenerowaną unikatową wartość parametru stanu 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 identyfikatora GUID ustawionego przez MSAL.js podczas wysyłania żądania. Gdy zostanie zwrócona odpowiedź, MSAL.js sprawdza dopasowanie stanu, a następnie zwraca wartość niestandardową przekazaną w stanie w obiekcie Response jako state.

Następne kroki

Dowiedz się więcej, tworząc aplikację jednostronicową React (SPA), która loguje użytkowników w poniższej serii samouczków wieloczęściowych.