JetBrains Space ヘルプ

永久トークン

永久トークンを使用すると、OAuth 2.0 認証フローを実装しなくても、Space でアプリケーションを認証および認可できます。特定の権限スコープを持つ新しいトークンを作成し、それをどこからでも認証に使用するだけです。永久トークンを Authorization 要求ヘッダーの Bearer パラメーターとして使用します。

永久トークンは、OAuth 2.0 認証で使用される一時アクセストークンよりも本質的に安全性が低いことに注意してください。

アプリケーションの認可には 2 種類の永久トークンを使用できます。

アプリケーションの永久トークン

アプリケーション永久トークンを使用すると、アプリケーションはそれ自体に代わって認証と認可を行うことができます。トークンのスコープは、アプリケーションに付与された権限に対応します。

アプリケーションの永久トークンを作成するには

  1. 拡張 | アプリケーションで、必要なアプリケーションを開きます。

  2. 永久トークンタブを開き、新しい永久トークンをクリックします。

  3. トークン名と有効期限を指定します。

  4. 作成をクリックし、作成したトークンを安全な場所にコピーします。トークンには再度アクセスできなくなることに注意してください。

  5. トークンを作成した後、更新 (名前または有効期限の変更) または取り消すを行うことができます。

個人の永久トークン

個人トークンを使用すると、アプリケーションはユーザーアカウントに代わって認証と認可を行うことができます。個人トークンは、そのトークンが属するユーザーに許可されるアクションのみを承認します。トークンの作成時に、承認されたアクションの範囲をさらに制限できます。

個人トークンで個人トークンを取得する方法を学習します。

実装方法

トークンを取得したら、それを環境変数などとして保存します。Space クライアントを作成するときにトークンを使用します。例:

// URL of your Space instance const val spaceUrl = "https://mycompany.jetbrains.space" // Personal token val token = System.getenv("JB_SPACE_TOKEN") // Create a client val spaceClient = SpaceClient(token, spaceUrl) suspend fun getAllAbsences(): Batch<AbsenceRecord> { // Use the client to make a request return spaceClient.absences.getAllAbsences() }

HTTP API 呼び出しでは、Authorization ヘッダーの Bearer 属性として永久トークンが使用されます。

リクエスト:

GET https://mycompany.jetbrains.space/api/http/team-directory/locations?query=&type=Region&withArchived=true&$fields=id,archived,channelId,name,type,tz Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJhSGZ2eDEyZTU1dCIsImF1ZCI6ImNpcmNsZXQtd2ViLXVpIiwib3JnRG9tYWluIjoibXljb21wYW55Iiwic2NvcGUiOiIqKiIsIm5hbWUiOiJ0cmF2aXMud2lja2V0dCIsImlzcyI6Imh0dHBzOlwvXC9qZXRicmFpbnMuc3BhY2UiLCJwcmluY2lwYWxfdHlwZSI6IlVTRVIiLCJleHAiOjE1OTAxNTk2ODYsImlhdCI6MTU5MDE1OTA4Niwic2lkIjoiMXRjbU1CMkxGZzl1In0.VJaqfkGt2RCArKg9l6oZWpA5_29DrKXLYdEAQpKaP4TuA3kHmqn7xv90NabF6Inot8zfnK1pRUc07zSunxe1lCOK81N7_GeNgw6rHB_3S-XGoOAO-7OSVVH-duffpueUj-sWcBHfCI9iTofuTZgXUZ7IcJ_FP8vyNBhM_kgx-As Accept: application/json

レスポンス:

200 accept-ranges: bytes content-encoding: gzip content-security-policy: frame-ancestors 'none' content-type: application/json date: Fri, 22 May 2020 14:47:06 GMT referrer-policy: no-referrer status: 200 vary: Origin x-frame-options: DENY [ { "id": "2w9S8K2x3Aqy", "name": "The Netherlands", "tz": null, "type": "Region", "channelId": null, "archived": false }, { "id": "1sjSCi2B6qdM", "name": "Russian Federation", "tz": null, "type": "Region", "channelId": null, "archived": false }, { "id": "4Vsy4f3sCNkX", "name": "USA", "tz": null, "type": "Region", "channelId": null, "archived": false }, { "id": "14fTZH1pMwJ5", "name": "Germany", "tz": null, "type": "Region", "channelId": null, "archived": false } ]

関連ページ:

単一組織アプリケーションの登録

アプリケーションの登録は、単一組織アプリケーションを Space インスタンスにインストールする主な方法です。アプリケーションを登録するときは、認可フロー、必要な権限、アプリケーションのエンドポイントなどの設定を手動で指定します。アプリケーションを Space インスタンスに追加する:メインメニューで、「拡張」をクリックし、「インストール済み」を選択します。新しいアプリをクリックします。指定: ユニークなアプリケーション名前。アプリケーションメール。アプリケーションが Space リポジトリにコ...

個人トークン

個人トークンは、データの取得と操作のために外部アプリケーションから Space に送信される API リクエストを認証および承認するために Space でサポートされている 2 つの方法のうちの 1 つです。Space アカウントで個人トークンを作成し、それを外部アプリケーションに提供できます。個人トークンは、ユーザーに代わって外部アプリケーションを認証します。トークンを作成するときに、データとアクションへのアクセスを制限する、限定されたアクセス許可のセットをトークンに付与できます。自分が持ってい...

Space での認証

Space のセキュリティは、アクセストークン、つまり API リクエストの認証に使用されるシークレットに基づいています。Space と通信するには、アプリケーションはまずアクセストークンを取得する必要があります。その後、このトークンを使用してリクエストを Space に送信できます。例:GET https://mycompany.jetbrains.space/api/http/absences Authorization: Bearer <here-goes-access-token&...