2015-06-22 3 views
-1

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

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

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

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

ответ

0

Существует несколько различных способов сделать это. Один из способов - использовать учетные данные пользователя Oauth2:

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

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

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

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

+0

Я думаю, что ключ заключается в том, что CAS возвращает токен-носитель для будущего доступа. Интересно, откуда этот токен. Я прочитал документы и возвратил ** билет id **, но я не знаю, как я должен использовать это для будущего доступа. –