Как проверить подлинность CAS в Node.js? - PullRequest
0 голосов
/ 29 января 2019

Мне нужно разработать приложение, в котором страница должна быть доступна, только если пользователь вошел в систему. Наша организация использует CAS для защиты страниц, но я не уверен, как проверить (я использую Node.js), если человекдействительно вошел в систему.

Я новичок в CAS и пытаюсь понять, как действовать.Я знаю, что пользователь получит файл cookie билета на выдачу билетов (TGT) в браузере после входа в систему и что CAS каким-то образом создаст билет на обслуживание (ST) для отдельной страницы.

Как узнатьесли пользователь прошел аутентификацию?Есть ли конкретный способ убедиться, что у пользователя есть TGT?Я проверяю на ST?И если я не обнаружу никаких билетов, как я могу направить их в экземпляр CAS для нашей системы?

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 29 января 2019

Я новичок в CAS и пытаюсь понять, как поступить.Я знаю, что пользователь получит файл cookie билета на выдачу билетов (TGT) в браузере после входа в систему и что CAS каким-то образом создаст билет на обслуживание (ST) для отдельной страницы.

Итакпока, все хорошо.

Как узнать, прошел ли аутентификация пользователя?Есть ли конкретный способ убедиться, что у пользователя есть TGT?Я проверяю на ST?И если я не обнаруживаю никаких билетов, как мне направить их в экземпляр CAS для нашей системы?

Если у вас нет сеанса для вашего приложения, вам нужно перенаправить пользователяк конечной точке входа в систему CAS с параметром службы, который действует как обратный вызов для вашего приложенияКак только пользователь войдет в систему, CAS перенаправит обратно к параметру службы с билетом службы.Затем вам нужно получить билет, попросить сервер CAS проверить билет в обмен на информацию / профиль пользователя.

Большая часть этого взаимодействия обычно обрабатывается с использованием клиентских библиотек CAS, которые вы настроите для обработки проверки.и перенаправление для вас.Если вы будете искать, вы, вероятно, найдете хороших клиентов CAS, которые хорошо работают с node.js.Это может быть хорошей отправной точкой: https://github.com/casinthecloud/nodejs-cas-client-demo

...