У нас есть клиентское приложение, которое мы хотели бы включить SSO через OID C. Клиентское приложение представляет собой SPA с выделенным внутренним API. В настоящее время проверка подлинности осуществляется с помощью файлов cookie, а авторизация выполняется на бэкэнде в зависимости от пользователя Auth_Cook ie. После завершения аутентификации OID C мы хотели бы продолжить использование этих существующих локальных кодов ie на основе cook / logi c, что также избавляет от необходимости хранить токены в SPA.
После завершения потока аутентификации с кодом PKCE интерфейсный SPA получил бы ID_Token и Access_Token непосредственно от конечной точки /token
OP. Чтобы перейти от ID / Access_Token к Auth_Cook ie, подход может быть следующим:
- Front-end SPA выполняет внутренний вызов API для аутентификации (например,
/authenticate
), передавая Access_Token - Back-end проверяет Access_Token и выдает Auth_Cook ie
Поскольку ID_Token предназначен только для клиентского приложения (которое в данном контексте является интерфейсным SPA), мой Предполагается, что он не играет никакой роли в этой последовательности (хотя логически вы могли бы подумать, что вызов конечной точки /authenticate
внутреннего API должен предоставлять что-то похожее на учетные данные, например, ID_Token).
Имеет ли смысл вышеуказанный подход и есть ли какие-либо проблемы безопасности / проблемы с этим? Существуют ли альтернативные / лучшие подходы для существенного преобразования внешнего идентифицированного контекста OID C в файлы cookie?
Буду признателен за любую информацию или помощь. Спасибо.