Передача пользовательского состояния в запросах на аутентификацию с помощью MSAL.js
Параметр state, который определен в OAuth 2.0, включается в запрос на аутентификацию и возвращается в ответе с токеном, чтобы предотвратить атаки с подделкой межсайтовых запросов. По умолчанию библиотека аутентификации Майкрософт для JavaScript (MSAL.js) передает в запросах на аутентификацию случайно созданное уникальное значение параметра state.
Также параметр state можно использовать для кодирования сведений о состоянии приложения перед перенаправлением. Вы можете передать состояние пользователя в приложении, например просматриваемые им страницы или представления, в качестве входных данных для этого параметра. Библиотека MSAL.js позволяет передавать пользовательское состояние в качестве параметра состояния в объекте Request . Например:
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);
Переданное состояние добавляется к уникальному идентификатору GUID, который MSAL.js задает при отправке запроса. Когда ответ возвращается, MSAL.js проверка для сопоставления состояния, а затем возвращает пользовательский переданный в состоянии в объекте Response как state
.
Следующие шаги
Дополнительные сведения см. в статье о создании одностраничного приложения React, которое входит в систему пользователей в следующей серии руководств по нескольким частьм.