Это кодекс для правительства Великобритании и Парламента.
Мы рекомендуем использовать Docker Desktop, чтобы быстро настройка. Если вы предпочитаете не использовать Docker, вам понадобится установленная Ruby (3.2+), узел (20+) и PostgreSQL (16+).
docker compose run --rm web rake db:setup
docker compose run --rm web rake epets:countries:load
docker compose run --rm web rails runner 'FetchRegionsJob.perform_now'
docker compose run --rm web rails runner 'FetchConstituenciesJob.perform_now'
docker compose run --rm web rails runner 'FetchDepartmentsJob.perform_now'
docker compose run --rm web rails runner 'Site.enable_signature_counts!(interval: 10)'
docker compose up
После начала служб вы сможете получить доступ к фронта, задняя и любые отправленные электронные письма.
Перед запуском каких -либо тестов необходимо подготовить базу данных:
docker compose run --rm web rake db:test:prepare
Вы можете запустить полный набор тестов, используя следующую команду:
docker compose run --rm web rake
Индивидуальные характеристики могут быть запущены, используя следующую команду:
docker compose run --rm web rspec spec/models/parliament_spec.rb
Точно так же отдельные функции огурца могут быть запускаются с помощью следующей команды:
docker compose run --rm web cucumber features/suzie_views_a_petition.feature
Портал модерации аутентифицируется с использованием драгоценного камня Omniauth и реализует легкую обертку вокруг стратегий, чтобы можно было поддерживать несколько конфигураций стратегии, например, два или более поставщиков идентификации SAML.
config/sso.yml
имеет конфигурацию стратегии Developer
для локальной разработки, которая не должна использоваться в производстве. Конфигурация теста в файле показывает, как будет настроен типичный IDP SAML.
Существует четыре атрибута ключа, которые необходимо возвращать в хэш Omniauth auth_info
, это first_name
, last_name
, email
и groups
. Атрибут email
выступает в качестве UID для пользователя, а groups
управляют атрибутом, какую роль они получают.
Атрибуты конфигурации:
имя
Это требуемый атрибут и должен быть уникальным. Он также должен подходить для использования в URL, поскольку он является частью URL -адреса обратного вызова для Omniauth.
стратегия
Это стратегия Omniauth для использования в качестве родительского класса для поставщика личности.
домены
Список доменов электронной почты для использования с этим поставщиком идентификаций, например,
domains :
- " example.com "
роли
Контролирует картирование атрибута groups
атрибуту с назначенной ролью, например,
roles :
sysadmin :
- " System Administrators "
moderator :
- " Petition Moderators "
reviewer :
- " Petition Reviewers "
По умолчанию любую из трех ролей является пустой набор, поэтому, если поставщик идентификации используется только для одной из ролей, то нет необходимости настраивать другие.
конфигурация
Это конфигурация, которая передается в стратегию Omniauth и должна быть хэш задокументированных вариантов, поддерживаемых стратегией.