Поделиться через


Передача пользовательского состояния в запросах аутентификации с помощью MSAL.js

Параметр состояния , определенный OAuth 2.0, включается в запрос проверки подлинности и также возвращается в ответ токена, чтобы предотвратить атаки с подделкой межсайтовых запросов. По умолчанию библиотека проверки подлинности Майкрософт для JavaScript (MSAL.js) передает случайно созданное уникальное состояние значение параметра в запросах проверки подлинности.

Параметр состояния можно также использовать для кодирования сведений о состоянии приложения перед перенаправлением. Вы можете передать состояние пользователя в приложении, например страницу или просмотр, в качестве входных данных в этот параметр. Библиотека 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, которое авторизует пользователей, в следующей серии многокомпонентных учебников .