Jenkins OIDC
Casdoor는 OIDC 프로토콜을 IDP로 사용하여 다양한 애플리케이션에 연결할 수 있습니다. 이 예제에서는 Jenkins를 사용하여 OIDC를 사용하여 애플리케이션에 연결하는 방법을 보여줍니다.
다음은 구성에서 사용되는 일부 이름입니다:
CASDOOR_HOSTNAME
: Casdoor 서버가 배포된 도메인 이름 또는 IP.JENKINS_HOSTNAME
: Jenkins가 배포된 도메인 이름 또는 IP.
1단계: Casdoor와 Jenkins 배포
성공적인 배포 후, 다음을 확인하세요:
Jenkins URL(Manage Jenkins -> Configure System -> Jenkins Location)을
JENKINS_HOSTNAME
으로 설정하세요.Casdoor이 정상적으로 로그인되고 사용될 수 있는지 확인하세요.
Casdoor의
origin
값(conf/app.conf)을CASDOOR_HOSTNAME
으로 설정하세요.
2단계: Casdoor 애플리케이션 구성
새로운 Casdoor 애플리케이션을 만들거나 기존의 것을 사용하세요.
리디렉션 URL 추가:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
원하는 제공자를 추가하고 추가 설정을 제공하세요.
애플리케이션 설정 페이지에서 두 가지 값을 얻을 수 있습니다: Client ID
와 Client secret
. 다음 단계에서 이 값들을 사용할 것입니다.
선호하는 브라우저를 열고 http://CASDOOR_HOSTNAME
/.well-known/openid-configuration을 방문하여 Casdoor의 OIDC 구성을 확인하세요.
3단계: Jenkins 구성
먼저, Jenkins가 기본적으로 OIDC를 지원하지 않으므로 OpenId Connect Authentication을 설치해야 합니다.
설치가 완료되면, Manage Jenkins -> Configure Global Security로 이동하세요.
설정 오류가 발생한 경우 복구할 수 있도록 Jenkins의 config.xml
파일을 백업하십시오.
Access Control에서
Login with Openid Connect
를 Security Realm으로 선택하세요.위에서 기록한
Client ID
를 Client ID 필드에 지정하세요.위에서 기록한
Client secret
를 Client secret 필드에 지정하세요.Configuration mode에서
Automatic configuration
을 선택하고 Well-known configuration endpoint로 http://CASDOOR_HOSTNAME
/.well-known/openid-configuration을 입력하세요.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
- Token server URL: http://
Advanced settings를 클릭하고 다음을 입력하세요:
- User name 필드에
name
을 지정하세요. - Full name 필드에
displayName
을 지정하세요. - Email 필드에
email
을 지정하세요.
- User name 필드에
Authorization 섹션에서 "Logged-in users can do anything"을 활성화하고 "Allow anonymous read access"를 비활성화하세요. 나중에 더 복잡한 권한을 설정할 수 있지만, 지금은 OpenID가 제대로 작동하는지 확인하세요.
Jenkins에서 로그아웃하면, 인증을 위해 Casdoor로 리디렉션됩니다.