티스토리 뷰

반응형

oryd/hydra에 CORS 적용하기

클라이언트에서 hydra를 호출할 때, CORS 문제가 발생했다.

CORS 문제를 해결하기 위해서는 oryd/hydra:v1.3.2-alpine 이미지를 Docker 컨테이너로 실행할 때, 다음과 같은 환경변수를 추가해줘야 한다.

      - SERVE_PUBLIC_CORS_ENABLED=true
      - SERVE_PUBLIC_CORS_DEBUG=true
      - SERVE_PUBLIC_CORS_ALLOWED_ORIGINS=https://*.trustbloc.local
      - SERVE_ADMIN_CORS_ENABLED=true
      - SERVE_ADMIN_CORS_DEBUG=true
      - SERVE_ADMIN_CORS_ALLOWED_ORIGINS=https://*.trustbloc.local
      - CORS_ALLOWED_ORIGINS=https://*.trustbloc.local

 

hydra에 대한 Docker Compose 파일을 보면 다음과 같다.

  hydra:
    container_name: hydra.trustbloc.local
    image: oryd/hydra:v1.3.2-alpine
    ports:
      - "4444:4444" # Public port
      - "4445:4445" # Admin port
    command:  /bin/sh -c "hydra migrate sql --read-from-env --yes;tmp/hydra_configure.sh& hydra serve all"
    entrypoint: ""
    environment:
      - DSN=mysql://root:secret@tcp(mysql:3306)/mysql?max_conns=20&max_idle_conns=4
      - URLS_SELF_ISSUER=https://hydra.trustbloc.local
      - URLS_CONSENT=https://consent-login.trustbloc.local/consent
      - URLS_LOGIN=https://consent-login.trustbloc.local/login
      - URLS_LOGOUT=https://consent-login.trustbloc.local/logout
      - SECRETS_SYSTEM=testSecretsSystem
      - OIDC_SUBJECT_TYPES_SUPPORTED=public,pairwise
      - OIDC_SUBJECT_TYPE_PAIRWISE_SALT=testSecretsSystem
      - SERVE_TLS_KEY_PATH=/etc/tls/trustbloc.local.key
      - SERVE_TLS_CERT_PATH=/etc/tls/trustbloc.local.crt
      - VIRTUAL_HOST=hydra.trustbloc.local
      - VIRTUAL_PORT=4444
      - VIRTUAL_PROTO=https
      - LOG_LEVEL=debug
      - SERVE_PUBLIC_CORS_ENABLED=true
      - SERVE_PUBLIC_CORS_DEBUG=true
      - SERVE_PUBLIC_CORS_ALLOWED_ORIGINS=https://*.trustbloc.local
      - SERVE_ADMIN_CORS_ENABLED=true
      - SERVE_ADMIN_CORS_DEBUG=true
      - SERVE_ADMIN_CORS_ALLOWED_ORIGINS=https://*.trustbloc.local
      - CORS_ALLOWED_ORIGINS=https://*.trustbloc.local
    restart: unless-stopped
    volumes:
      - ../scripts/hydra_configure.sh:/tmp/hydra_configure.sh
      - ../keys/tls:/etc/tls
    depends_on:
      - mysql
    networks:
      - demo-net


이렇게 설정하고 실행해주면 CORS 문제가 해결된다.

 

 

 

 

 

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함