메인 콘텐츠로 건너뛰기

Jenkins OIDC

Casdoor는 OIDC 프로토콜을 IDP로 사용하여 다양한 애플리케이션에 연결할 수 있습니다. 이 예제에서는 Jenkins를 사용하여 OIDC를 사용하여 애플리케이션에 연결하는 방법을 보여줍니다.

다음은 구성에서 사용되는 일부 이름입니다:

  • CASDOOR_HOSTNAME: Casdoor 서버가 배포된 도메인 이름 또는 IP.

  • JENKINS_HOSTNAME: Jenkins가 배포된 도메인 이름 또는 IP.

1단계: Casdoor와 Jenkins 배포

먼저, CasdoorJenkins를 배포하세요.

성공적인 배포 후, 다음을 확인하세요:

  1. Jenkins URL(Manage Jenkins -> Configure System -> Jenkins Location)을 JENKINS_HOSTNAME으로 설정하세요. Jenkins URL

  2. Casdoor이 정상적으로 로그인되고 사용될 수 있는지 확인하세요.

  3. Casdoor의 origin 값(conf/app.conf)을 CASDOOR_HOSTNAME으로 설정하세요. Casdoor conf

2단계: Casdoor 애플리케이션 구성

  1. 새로운 Casdoor 애플리케이션을 만들거나 기존의 것을 사용하세요.

  2. 리디렉션 URL 추가: http://JENKINS_HOSTNAME/securityRealm/finishLogin Casdoor 애플리케이션 설정

  3. 원하는 제공자를 추가하고 추가 설정을 제공하세요.

애플리케이션 설정 페이지에서 두 가지 값을 얻을 수 있습니다: Client IDClient secret. 다음 단계에서 이 값들을 사용할 것입니다.

선호하는 브라우저를 열고 http://CASDOOR_HOSTNAME/.well-known/openid-configuration을 방문하여 Casdoor의 OIDC 구성을 확인하세요.

3단계: Jenkins 구성

먼저, Jenkins가 기본적으로 OIDC를 지원하지 않으므로 OpenId Connect Authentication을 설치해야 합니다.

설치가 완료되면, Manage Jenkins -> Configure Global Security로 이동하세요. jenkins 전역 보안

설정 오류가 발생한 경우 복구할 수 있도록 Jenkins의 config.xml 파일을 백업하십시오.

  1. Access Control에서 Login with Openid ConnectSecurity Realm으로 선택하세요.

  2. 위에서 기록한 Client IDClient ID 필드에 지정하세요.

  3. 위에서 기록한 Client secretClient secret 필드에 지정하세요.

  4. Configuration mode에서 Automatic configuration을 선택하고 Well-known configuration endpoint로 http://CASDOOR_HOSTNAME/.well-known/openid-configuration을 입력하세요. Jenkins' 설정

    Casdoor가 로컬에 배포된 경우, Manual configuration을 선택하고 다음 정보를 제공해야 할 수 있습니다:

    • Token server URL: http://CASDOOR_HOSTNAME/api/login/oauth/access_token
    • Authorization server URL: http://CASDOOR_HOSTNAME/login/oauth/authorize
    • UserInfo server URL: http://CASDOOR_HOSTNAME/api/get-account
    • 범위: address phone openid profile offline_access email 수동 설정
  5. Advanced settings를 클릭하고 다음을 입력하세요:

    • User name 필드에 name을 지정하세요.
    • Full name 필드에 displayName을 지정하세요.
    • Email 필드에 email을 지정하세요.

    Userinfo 필드 설정

  6. Authorization 섹션에서 "Logged-in users can do anything"을 활성화하고 "Allow anonymous read access"를 비활성화하세요. 나중에 더 복잡한 권한을 설정할 수 있지만, 지금은 OpenID가 제대로 작동하는지 확인하세요.

    Jenkins에서 로그아웃하면, 인증을 위해 Casdoor로 리디렉션됩니다.Jenkins 로그인 페이지