#reactjs #react-component #msal.js #react-aad-msal #msal-react
Вопрос:
Используя MSAL 2.0 в React, мы можем легко перенаправить на страницу входа, используя следующие методы
- Войдите в систему с помощью всплывающего окна
- Войдите в систему с перенаправлением
Но оба метода могут быть выполнены с помощью действия кнопки входа/входа.
В моем случае я хочу перенаправить свое приложение React непосредственно на страницу входа в систему, когда URL-адрес отображается в браузере, т. Е. без действия кнопки.
Кроме того, при перенаправлении мне также нужно передать несколько областей для получения согласия пользователя.
Я провел некоторое исследование, но не нашел никаких возможных решений. Пожалуйста, кто-нибудь может мне помочь с этим ?
Ответ №1:
Когда приложение запускается, оно всегда начинается с app.js. В app.js конструктор класса вы можете проверить свой токен, является ли он действительным/недействительным и / или истек ли срок его действия.
Чтобы перенаправить ваше приложение React непосредственно на страницу входа в систему, попробуйте сделать это:
state = {
show: false;
}
componentWillReceiveProps(nextProps) {
if (nextProps.children !== this.props.children) {
this.checkAuth();
}
}
componentDidMount() {
this.checkAuth();
}
checkAuth() {
Api.checkAuth()
.then(result => {
if (result.success) {
this.setState({ show: true });
} else {
return <Redirect to='/login' />
}
});
}