Я создаю Javascript одностраничное приложение. Это требует, чтобы пользователь вошел в систему во время неявного потока, чтобы позже использовать Microsoft Graph API. Я использую MSAL. js и пытаюсь адаптировать фрагменты из этого руководства для получения токена аутентификации из authRedirectCallBack
Я понимаю, что в других потоках перенаправление uri (используется после аутентификации) необходимо для получения токена и продолжения работы с ним. Однако в моем потоке я обработал токен в функции обратного вызова Javascript.
Можно ли избежать предоставления перенаправления uri при регистрации приложения в Azure AD и / или во время кода исполнение? Я бы вообще не хотел приводить пользователя к этому URI перенаправления.
В данный момент мой код выглядит так:
var msalConfig = {
auth: {
clientId: 'my-app-id',
},
cache: {
cacheLocation: "localStorage",
storeAuthStateInCookie: true,
forceRefresh: false
}
};
const loginRequest = {scopes: ['openid', 'profile', 'user.read']};
const msalClient = new Msal.UserAgentApplication(msalConfig);
msalClient.handleRedirectCallback(authRedirectCallBack);
singIn();
async function singIn() {
try {
msalClient.loginPopup(loginRequest).then(function (response) {
if (msalClient.getAccount()) {
console.log('logged');
}
});
} catch (err) {
console.log(err);
}
}
function authRedirectCallBack(err, response) {
if (err) {
console.log(err);
} else {
if (response.tokenType === "access_token") {
console.log('token', response);
}
}
}