Задать вопрос
@Mr_FabiozZz
Начинающий фронтендер)

Как организовать авторизацию в NextJS?

Только начал изучение NextJS.
В общем: нужно скрыть все страницы для не авторизованного пользователя, и после регистрации собственно дать нормально пользоваться приложением...
Запросы к базе делаются через axios. Имеется отдельный класс Apiс предварительными настройками.
1) Как правильно это сделать, делать проверку в компоненте _app.js по флагу isAuth:
export default function App({ Component, pageProps }) {
    const store = useStore(pageProps.initialReduxState);
    const {isAuth} = store.getState().user;
    return (
        <>
            <Provider store={store}>
            <HeadApp/>
                {isAuth?
                <Container>
                    <Component {...pageProps} />
                </Container>
                :
                <Auth/>
                 }
            </Provider>

        </>
    );
}

или сделать отдельную страницу по пути /auth, и в каждом компоненте делать проверку по этому флагу и делать редирект в случае false?
2) Как хранить токены? На версии с обычным React приложением (без фреймворка) я хранил токены в localStorage, для того чтобы если перезагрузилась страница доставать оттуда токены и делать проверки протухли или нет, если да то обновлять, если нет просто авторизовывать. Next, как я уже понял не имеет доступа к localStorage (дает ошибку), так как он обрабатывает код на сервере.

Авторизация по JWT.
  • Вопрос задан
  • 240 просмотров
Подписаться 3 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы