の検索結果 :

×

Confluence で REST API 認証をセットアップするためのステップバイステップ ガイド

Confluence は、ページの作成、ページの削除、コメントの追加、スペースの作成などのさまざまな操作を実行するための REST API を提供します。ただし、REST API でサポートされる認証方法は次の XNUMX つだけです。

  1. 基本認証
  2. Confluence を OAuth 1.0 プロバイダーとして使用する

Confluence の REST API 認証プラグインを使用すると、サードパーティの OAuth 2.0 プロバイダー/OpenID 接続を使用して REST API を認証できます。

 

REST API 認証アドオンを使用する利点:

  1. セキュア: ユーザーの資格情報がすべての API リクエストで渡されるわけではないため、これは基本認証よりも安全です。 アドオンには、サードパーティの OAuth 2.0 プロバイダー/OpenID Connect によって生成されたアクセス トークンのみが必要です。
  2. フレキシブル:  これにより、Confluence だけでなく、サードパーティの OAuth 2.0 プロバイダー/OpenID Connect を認証に使用できるようになります。
  3. 全体的な保護: プラグインは、有効なアクセス トークンを持たないユーザーが REST API を使用できないように、基本認証リクエストをブロックすることもできます。
  4. SSO対応: Confluence にシングル サインオンを使用している場合は、REST API の認証も提供するようにアイデンティティ プロバイダーを構成できます。

 

REST API 認証フローには、次の XNUMX つの簡単な手順が含まれます。

  1. OAuth 2.0/OIDC プロバイダーからのアクセス トークンのリクエスト
  2. このアクセス トークンを使用して Confluence REST API を呼び出します

Confluence 用の miniOrange REST API 認証アドオンを使用して OAuth 2.0/OpenID Connect 認証を設定する手順:

注: ここでは例として miniOrange OAuth プロバイダーを使用しました。 このアドオンは、Azure AD、Keycloak、Okta、Gsuite (Google アプリ)、AWS Cognito、Github、Gitlab などのカスタム OAuth 2.0/OpenID 接続プロバイダーをサポートします。

ステップ 1: クライアント アプリケーションと OAuth 2.0/OpenID Connect プロバイダー間の OAuth フローをセットアップします。

    1. クライアントアプリケーション: Confluence REST API にアクセスしたいサービスまたはユーザーです。
    2. miniOrange とクライアント アプリケーションの間に OAuth フローを設定する必要があります。 クライアント アプリケーションは、Confluence REST API を呼び出す任意のサービスまたはユーザーです。
    3. ユーザーを認証し、アクセス トークンを取得するために使用されます。  Note: このフローは、クライアント アプリケーションと miniOrange OAuth プロバイダーの間で設定されます。 REST API 認証アドオンは、このプロセスには関与しません。 アプリケーションが OAuth 2.0 をサポートしていない場合は、次のアドレスにメールを送信してください。 info@xecurify.com.
    4. このリンクのステップバイステップガイドを使用して、miniOrange を OpenID プロバイダーとして設定します。 miniOrange を OpenID Connect プロバイダーとしてセットアップします。
    5. miniOrange を OAuth プロバイダーとして設定した後、次のページに移動します。 アプリ Appsの管理。 miniOrange で作成したアプリの横にある [編集] リンクをクリックします。
    6. コピー ユーザー情報エンドポイント.

ステップ 2: REST API 認証アドオンでイントロスペクション エンドポイントを構成します。

    1. イントロスペクションエンドポイント: イントロスペクション エンドポイントは、OAuth/OpenID プロバイダーのエンドポイントです。 アクセストークンを使用して呼び出すことができます および ユーザー名を返します に応じて。
    2. 選択 カスタムOAuthプロバイダー セクションに OAuthプロバイダー 設定タブ
    3. 入力する ユーザー情報エンドポイント ステップ 1 で「イントロスペクション エンドポイント」フィールドにコピーしたもの。 こんな感じです。
      https://login.xecurify.com/moas/rest/oauth/getuserinfo
    4. miniOrange のユーザー情報エンドポイントは、次のような応答を返します。
      { "sub": "demouser"、"firstname": "Demo"、"email": "demo@example.com"、"username": "demouser"、"lastname": "User" }
    5. ユーザー名の属性: イントロスペクション エンドポイント応答内のこのキーは、どのユーザーが API 呼び出しを行っているかをプラグインに伝えます。
    6. 上記の応答では、 ユーザ名 属性には、API 呼び出しを行う人の Confluence ユーザー名が含まれます。 したがって、ユーザー名は username 属性として入力されます。 したがって、プラグインは、Confluence ユーザー「demouser」が API 呼び出しを行っていることを認識します。

ステップ 3: miniOrange OAuth プロバイダーからアクセス トークンを取得します。

    1. miniOrange を使用して OAuth フローを開始します。 今回のOAuthフローはこんな感じです。

2. このフローの最後に、miniOrange で構成されたアプリケーション リダイレクト URI にアクセス トークンが返されます。

3. miniOrange OAuth プロバイダーからのサンプル アクセス トークンは次のようになります。

  A834c0606ba71336423013699db8e971

ステップ 4: アクセス トークンを使用して Confluence REST API を使用します。

    1. Confluence の任意の REST API を呼び出します。 Authorization ヘッダーにアクセス トークンを含めます。 ここではページ API の作成例を示します。

要求:

     curl \ -X POST \ -H "認可: Bearer " \ -H "コンテンツ タイプ: application/json" \ --data {下記を参照} \ http://localhost:8090/confluence/rest/api/content/|phython-mjson.tool \

 

入力データ:

     { "type":"page", "title":"新しいページ", "space":{ "key":"TST" }, "body":{ "storage":{ "value":" これは新しいページ", "表現":"ストレージ" } } }

2. アドオンはアクセス トークンを検証します。
3. アクセス トークンが無効な場合、問題が作成されます。
4. トークンが無効または欠落している場合、呼び出しは 401 Unauthorized 応答を返します。

これは、miniOrange プラグインを使用した REST API 認証のフロー図です。

こんにちは!

助けが必要? 私たちはここにいます!

サポート
miniOrange サポートにお問い合わせください
成功

お問い合わせありがとうございます。

24 時間以内に当社からのご連絡がない場合は、お気軽にフォローアップ メールを送信してください。 info@xecurify.com