이것은 영국 정부와 의회의 청원 서비스의 강령 기반입니다.
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 GEM을 사용하여 인증되며 전략 주변의 가벼운 래퍼를 구현하여 전략의 여러 구성을 지원할 수 있습니다 (예 : 2 개 이상의 SAML Identity 제공자).
config/sso.yml
에는 지역 개발을위한 Developer
전략 구성이있어 생산에 사용해서는 안됩니다. 파일의 테스트 구성은 일반적인 SAML IDP가 어떻게 구성되는지 보여줍니다.
Omniauth auth_info
Hash에서 반환 해야하는 네 가지 주요 속성이 있으며, 이는 first_name
, last_name
, email
및 groups
입니다. email
속성은 사용자의 UID 역할을하며 groups
속성은 할당 된 역할을 제어합니다.
구성 속성은 다음과 같습니다.
이름
이것은 필수 속성이며 고유해야합니다. OMNIAUTH의 콜백 URL의 일부를 형성하므로 URL에서 사용하기에도 적합해야합니다.
전략
이것은 신원 제공 업체의 부모 클래스로 사용하는 OMNIAUTH 전략입니다.
도메인
이 Identity 제공 업체와 함께 사용할 이메일 도메인 목록 (예 :
domains :
- " example.com "
역할
할당 된 역할에 대한 groups
의 매핑을 제어합니다 (예 :
roles :
sysadmin :
- " System Administrators "
moderator :
- " Petition Moderators "
reviewer :
- " Petition Reviewers "
세 가지 역할 중 하나의 기본값은 빈 세트이므로 ID 제공자가 역할 중 하나에만 사용되는 경우 다른 역할을 구성 할 필요가 없습니다.
구성
이것은 Omniauth 전략으로 전달되는 구성이며 전략에서 지원하는 문서화 된 옵션의 해시 여야합니다.