Система аутентификации для угловых (корпоративный сайт без страницы входа) - PullRequest
1 голос
/ 11 ноября 2019

Эй, мы создаем корпоративный веб-сайт для компании.

Когда какой-либо пользователь в компании подключается к сайту, у него есть идентификатор пользователя.

Когда идентификатор отправляется от клиента к бэкэнду(Node.JS) Я проверяю, находится ли этот идентификатор в моей сети, и получает ли он токен доступа.

Проблема заключается в том, что после получения токена доступа пользователю в клиенте необходимо перезагрузить страницуснова для получения доступа, и если он не обновляет страницу, «Auth-Guard» блокирует его.

Как лучше всего обращаться с такой системой в клиенте ??

Ответы [ 2 ]

2 голосов
/ 11 ноября 2019

Множество способов обойти это.

1-й. Если вы не хотите, чтобы служба отвечала токеном на лету, то вы можете использовать какую-то серверную технологию push (SignalR - это .Netрешение, я уверен, что есть эквивалент в узле js).

2nd Почему вы не отправляете токен в ответ, когда клиент отправляет идентификатор? Когда вы его получите, храните его в службе и локально кешируйте. Затем, когда охрана будет выполнена, получите последнее значение от службы и выполните проверку.

Пожалуйста, предоставьте больше информации об этом.

Моя рекомендация будет состоять в использовании некоторых известных и проверенныхметод аутентификации, такой как oauth 2 или openid connect, чтобы получить токен от вашего провайдера идентификации.

Прежде чем делать что-либо еще, я бы посоветовал вам проверить неявный большой метод для oauth2 , который рекомендуетсяспособ аутентификации одностраничного приложения.

Другие проблемы безопасности

  • Остерегайтесь того, что если идентификатор клиента является предположительным, то люди могут выдавать себя за других, тем самым делая ваш спа-центр небезопасным.
  • Проверьте это angular с аутентификацией ldap . Активный каталог обычно является лучшим способом аутентификации корпоративных пользователей, поскольку он не основан на коде на стороне клиента, который легко обойти.
0 голосов
/ 11 ноября 2019

Добавить HttpInterceptor в проекте с логикой для проверки токена (из cookie или локального хранилища, где бы вы ни хранились), если он существует, добавьте токен в запрос, таким образом, каждый запрос должен быть запущенс токеном, если существует.

Пример для HttpInterceptor ..

Теперь просто, когда вы получили токен, просто установите токен на место (cookie или локальное хранилище)как только вы установите токен, HttpInterceptor начнёт добавлять токен доступа к сгенерированному запросу, рядом с ним наступит .... Happy coding:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...