Я знаю, что этот топи c уже много и уже есть много билетов. Но после просмотра сотен билетов и страниц я не нашел необходимой информации об архитектуре.
Я планирую простой SPA (Angular) - REST Backend (отдельный. Net Core 2.1 WebApi) настроить. У меня есть Keycloak для обеспечения аутентификации через OpenId Connect. Я использую пакет OpenId для Angular для связи с Keycloak, для получения идентификатора и токенов доступа.
Мне бы хотелось, чтобы клиент Angular имел доступ только к идентификационному токену и информация аутентифицирована / авторизирована. Токен доступа не должен представлять интереса для Angular интерфейса, верно? Таким образом, я мог бы также зашифровать токен доступа к защищенной информации?
Затем я передаю зашифрованный токен доступа в свой REST-Backend (имеет доступ к секрету приложения), где я могу проверить зашифрованную подпись, зашифрованное тело токен и, возможно, интроспективный токен на сервере аутентификации для проверки и предоставления доступа к ресурсам?
Но почему во многих статьях говорится, что конфиденциальный клиент Keycloak (имеет секретный ключ приложения) не является подходящим способом для настройки SPA? Самому SPA не нужен секрет, нужен только бэкэнд или нет?
Пожалуйста, я был бы признателен за любую информацию, которая поможет мне закрыть оставшиеся пробелы.