Единый вход (SSO) – рабочий процесс

Я ищу для внедрения SSO во всех моих будущих php / угловых приложениях. Я вижу, что есть службы (Auth0, oauth.io и т. Д.), Которые являются средним человеком приложения SSO, и существуют такие протоколы, как OAuth 1.0 / 2.0, но в отношении создания пользовательского решения SSO (с использованием вышеупомянутых протоколов OAuth, Я предполагаю), я немного туманный о полном потоке процесса.

Что я получаю:

  • Приложение получает токен доступа
  • (необязательно) Приложение проверяет токен доступа
  • Приложение (с токеном доступа) получает доступ к определенному API и возвращает результат. Например, информация о профиле Facebook.

То, что я не получаю:

Что делать с этой информацией, как только я ее получу. Сохранять ли токен доступа и запрашивать информацию из источника API при каждом входе в систему? Как связать свои данные приложения с данными API? Могу ли я создать другой тип записи пользователя, который содержит только токен доступа и пользовательский идентификатор приложения?

Сохранять ли токен доступа и запрашивать информацию из источника API при каждом входе в систему?

Если токен не истекает, вы можете сохранить его в хранилище данных и использовать его с каждым запросом. Однако много раз токен истекает, и вам нужно запрашивать новый каждый раз, когда вы начинаете сеанс. В этом случае вы, вероятно, сохранили бы токен в памяти вместо постоянного места хранения.

Как связать свои данные приложения с данными API?

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

Могу ли я создать другой тип записи пользователя, который содержит только токен доступа и пользовательский идентификатор приложения?

Опять же, нам, вероятно, потребуется немного больше информации о вашем приложении. Если вы сохраняете токен (в случае, если срок его действия не истекает), тогда вам нужно сделать некоторые соображения о том, как вы хотите его сохранить. Если нет, вы, вероятно, можете просто поместить его в локальную переменную или сеанс.