#angular #oauth-2.0 #keycloak #pkce #angular-oauth2-oidc
Вопрос:
Какой из вариантов хранения на стороне клиента, предоставленных браузером, лучше?
Ответ №1:
Хранение маркера доступа в локальном хранилище зависит от видимости вашего приложения. Является ли это общедоступным веб-приложением или веб-приложением внутренней организации?
Если это общедоступное веб-приложение, то срок действия маркера доступа должен быть, как минимум, коротким. Это делается для того, чтобы свести к минимуму возможность того, что активный сеанс будет доступен другим пользователям, использующим одну и ту же машину.
В качестве альтернативы вы можете использовать хранилище сеансов (см. https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)
который сохраняет значение, сохраненное до тех пор, пока окно браузера или вкладка браузера не будут закрыты. Это немного лучше, чем использовать localStorage (см. https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)
Помимо использования локального хранилища браузера или хранилища сеансов, вы можете реализовать собственную службу управления внутренними сеансами или использовать облачного поставщика хранилища сеансов, такого как Auth0 или Okta, для обработки хранилища за вас. Тогда вам не придется беспокоиться об угоне сеанса сохраненных токенов браузера. Это рекомендуется для широкого использования и высокой видимости общедоступных веб-приложений.
Чтение сведений о пользователе может быть выполнено при получении маркера доступа с сервера идентификации при проверке подлинности пользователя. Тогда вам не придется выполнять дополнительные запросы для получения других сведений о пользователе.
Комментарии:
1. Является ли поставщик сеансов хранения Auth0 или Okta? ( auth0.com/docs/security/data-security/… )
2. ДА. Оба являются поставщиками аутентификации и авторизации на основе облака.
3. Правильный. Оба являются поставщиками аутентификации и авторизации на основе облака, но в вашем ответе они называются «сторонним поставщиком хранилища сеансов», что является правильным термином.
4. Небольшая поправка с исправлением в отношении поставщиков.
5. Что плохого в использовании аутентификации файлов cookie защиты csrf в веб-приложениях? Аутентификация на основе токенов предназначена для настольных/мобильных приложений