メインコンテンツにスキップ

Jenkins OIDC

CasdoorはOIDCプロトコルをIDPとして使用し、様々なアプリケーションに接続できます。 この例では、OIDCを使用してアプリケーションに接続する方法を示すためにJenkinsを使用します。

以下は設定で使用されるいくつかの名前です:

  • CASDOOR_HOSTNAME:Casdoorサーバーがデプロイされているドメイン名またはIP。

  • JENKINS_HOSTNAME:Jenkinsがデプロイされているドメイン名またはIP。

ステップ1:CasdoorとJenkinsをデプロイする

まず、CasdoorJenkinsをデプロイします。

デプロイに成功したら、以下を確認してください:

  1. JenkinsのURL(管理Jenkins -> システムの設定 -> Jenkinsの位置)をJENKINS_HOSTNAMEに設定します。 JenkinsのURL

  2. Casdoorが正常にログインして使用できることを確認してください。

  3. Casdoorのoriginの値(conf/app.conf)をCASDOOR_HOSTNAMEに設定します。 Casdoorの設定

ステップ2:Casdoorアプリケーションを設定する

  1. 新しいCasdoorアプリケーションを作成するか、既存のものを使用します。

  2. リダイレクトURLを追加:http://JENKINS_HOSTNAME/securityRealm/finishLogin Casdoorアプリケーションの設定

  3. 希望するプロバイダーを追加し、追加の設定を提供します。

アプリケーション設定ページから2つの値を取得します:Client IDClient secret。 これらの値は次のステップで使用します。

お気に入りのブラウザを開いて、http://CASDOOR_HOSTNAME/.well-known/openid-configurationにアクセスし、CasdoorのOIDC設定を表示します。

ステップ3:Jenkinsを設定する

まず、JenkinsはネイティブにOIDCをサポートしていないため、OpenId Connect Authenticationをインストールする必要があります。

インストールが完了したら、管理Jenkins -> グローバルセキュリティの設定に進みます。 jenkinsのグローバルセキュリティ

ヒント

設定エラーが発生した場合に備えて、Jenkinsのconfig.xmlファイルをバックアップしておくことを確認してください。

  1. アクセスコントロールで、セキュリティ領域としてLogin with Openid Connectを選択します。

  2. 上記でメモしたClient IDClient IDフィールドに指定します。

  3. 上記でメモしたClient secretClient secretフィールドに指定します。

  4. 設定モードで、Automatic configurationを選択し、Well-known configuration endpointとしてhttp://CASDOOR_HOSTNAME/.well-known/openid-configurationを入力します。 Jenkinsの設定

    Casdoorがローカルにデプロイされている場合は、Manual configurationを選択し、以下の情報を提供する必要があります:

    • トークンサーバーURL:http://CASDOOR_HOSTNAME/api/login/oauth/access_token
    • 認証サーバーURL:http://CASDOOR_HOSTNAME/login/oauth/authorize
    • UserInfoサーバーURL:http://CASDOOR_HOSTNAME/api/get-account
    • スコープ:address phone openid profile offline_access email 手動設定
  5. 詳細設定をクリックし、以下を入力します:

    • ユーザー名フィールドにはnameを指定します。
    • フルネームフィールドにはdisplayNameを指定します。
    • メールフィールドにはemailを指定します。

    ユーザー情報フィールドの設定

  6. 認証セクションで、「ログインしたユーザーは何でもできる」を有効にし、「匿名での読み取りアクセスを許可する」を無効にします。 より複雑な認証を後で設定できますが、今はOpenIDが正しく動作するかどうかを確認してください。

    Jenkinsからログアウトすると、認証のためにCasdoorにリダイレクトされるはずです。Jenkinsのログインページ