GitLab での OIDC/OAuth のテスト

GitLab で OIDC/OAuth をテストするには、次のことが必要です:

  1. OIDC/OAuth を有効にします
  2. クライアントアプリケーションでOIDC/OAuthをテストします。
  3. OIDC/OAuth認証の検証

前提条件

GitLab で OIDC/OAuth をテストする前に、以下のものが必要です:

  • 公開されている GitLab インスタンス
  • OIDC/OAuth のテストに使いたいクライアントアプリケーション
  • ログインして OIDC/OAuth をテストする GitLab インスタンスのユーザーアカウント

GitLabでOIDC/OAuthを有効にします。

まず、GitLabインスタンスでOIDC/OAuthアプリケーションを作成する必要があります。そのためには

  1. GitLabに管理者としてサインインします。
  2. Profile > Preferences > Applications を選択します。
  3. 名前、リダイレクトURI、許可スコープなど、クライアントアプリケーションの詳細を入力します。
  4. openid スコープが有効になっていることを確認してください。
  5. Save applicationを選択して、新しいOAuthアプリケーションを作成します。

クライアントアプリケーションでOIDC/OAuthをテストします。

GitLab で OAuth アプリケーションを作ったら、それを使って OIDC/OAuth をテストしましょう:

  1. https://openidconnect.net を OIDC/OAuth のプレイグラウンドとして使うことができます。
  2. GitLabからサインアウトしてください。
  3. クライアントアプリケーションにアクセスし、前のステップで作成した GitLab OAuth アプリケーションを使って OIDC/OAuth フローを開始します。
  4. プロンプトに従って GitLab にサインインし、クライアントアプリケーションが GitLab アカウントにアクセスすることを承認します。
  5. OIDC/OAuthフローが完了したら、クライアントアプリケーションはGitLabとの認証に使えるアクセストークンを受け取っているはずです。

OIDC/OAuth 認証の確認

OIDC/OAuth認証がGitLab上で正しく機能していることを確認するには、以下のチェックを行います:

  1. 前のステップで受け取ったアクセストークンが有効で、GitLabで認証できることを確認します。アクセストークンを使って GitLab にテスト API リクエストを行い、認証を行います。例えば

    curl --header "Authorization: Bearer <access_token>" https://mygitlabinstance.com/api/v4/user
    

    <access_token> を、前のステップで受け取った実際のアクセストークンに置き換えてください。API リクエストが成功し、認証されたユーザーの情報が返ってくれば、OIDC/OAuth 認証は正しく機能しています。

  2. OAuthアプリケーションで指定したスコープが正しく適用されているか確認してください。これは、特定のスコープを必要とする API リクエストを行い、それが期待通りに成功または失敗することを確認することで行うことができます。

以上です!以上の手順で、GitLab インスタンスでクライアントアプリケーションを使って OIDC/OAuth 認証をテストできるようになりました。