Настройка Auth0 для вложенного приложения Angular

У нас есть основное угловое приложение с настройкой auth0. Внутри основного приложения находится другое подпрограмма, которая импортируется как модуль npm. Подприложение также имеет отдельную версию для развертывания в целях разработки и тестирования.

Так как автономная версия должна иметь свой собственный способ аутентификации, а под-приложение имеет разные роли с разными разрешениями, мы создали еще один клиент auth0 для под-приложения, но в настоящее время еще не используем его. Таким образом, суб-приложение использует тот же клиент auth0, что и основное приложение.

В соответствии с текущей настройкой интегрированных приложений, accessToken устанавливается основным приложением и читается вложенным приложением, чтобы иметь возможность добавлять в заголовки запросов. Теперь мы планируем использовать свои собственные учетные данные клиента для суб-приложения. Для этого нам также необходимо добавить новые пары ключ-значение в localStorage (возможно, добавив префиксы к существующим в конфигурации под-приложения), чтобы они не конфликтовали.

На этом этапе я хотел бы спросить, является ли это идеальной и правильной настройкой для такого подприложения. Я открыт для любых предложений. Заранее спасибо.

1 ответ

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

Тогда вам, возможно, потребуется создать новый authGuardService для вашего субприложения.

пример:

В вашем основном приложении вы бы использовали AuthGuardServiceMainApp

  {
    path: 'main-path'
    , component: MainComponent
    , canActivate: [AuthGuardServiceMainApp]
  }

А в подприложении вы бы использовали другой сервис.

  {
    path: 'sub-path'
    , component: SubComponent
    , canActivate: [AuthGuardServiceSubApp]
  }

Таким образом, вы можете иметь индивидуальный контроль над аутентификацией в каждой службе.

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