CAS в Rest API

Я создаю свое собственное приложение на основе внешней службы CAS. Я хотел бы сначала проверить подлинность пользователя с помощью внешнего CAS, а затем разрешить ему использовать мое приложение.

Тем не менее, я зачитываю документацию по phpCAS, но я не уверен, как я могу сделать это спокойным способом.

Что мне нужно, это какой-то токен, который нужно передать моему веб-интерфейсу javascript, и каждый раз, когда пользователь делает запрос, я проверяю этот токен в CAS, чтобы убедиться, что пользователь аутентифицирован. Есть способ сделать это?

Я читал про тикеты и прокси, но не понял... извините за новичок, надеюсь, вы не против.

1 ответ

Решение

Есть несколько разных способов сделать это. Одним из способов является использование полномочий пользователя Oauth2:

например, https://bshaffer.github.io/oauth2-server-php-docs/grant-types/user-credentials/

Общий процесс: 1. Ваша заявка отправляет запрос в CAS. Он содержит учетные данные пользователя / pword пользователя, выполняющего запрос. 2. CAS проверяет эти учетные данные и создает маркер канала-носителя (с теми же разрешениями, что и у этого пользователя). Затем он возвращает этот токен в ваше приложение. 3. Ваше приложение использует этот токен-носитель во всех будущих запросах (в заголовке авторизации).

Этот токен имеет срок действия. По истечении этого срока вашему приложению потребуется повторно выполнить запрос на авторизацию, чтобы получить новый токен. Или используйте токен обновления.

К сожалению, нет реального пути к пониманию всего этого. Я бы порекомендовал изучить грант учетных данных пользователя Oauth2 или грант учетных данных клиента Oauth2 (используйте изображения Google, чтобы просмотреть потоки для каждого). Затем посмотрите, с чем работает ваша система CAS.

Другие вопросы по тегам