YouTrack および Hub ヘルプの開発者ポータル

Hub での OAuth2.0 認証

OAuth 2.0(英語) の Hub 実装は、いくつかの認証 / 承認フローをサポートします。Hub 自体のリソースおよび Hub に接続されているサービスにアクセスするには、クライアントはアクセストークンを取得する必要があります。クライアントが使用できるフローは、以下によって異なります。

  • クライアントが持っている情報(サービス資格情報 / ユーザー資格情報)。

  • アプリケーションの種類 (ブラウザー / サーバー側アプリケーション / スタンドアロンアプリケーション)。

どの Flow を使用しますか?

開発する ...

使用する Flow

必須パラメーター

追加要件

ブラウザーにすべての認証ロジックを備えたリッチクライアント Web アプリケーション

暗黙のフロー

service id

Hub からの権限付与でブラウザーリクエストを処理します

サーバー側で認証ログインを使用する Web アプリケーション

認証コードフロー

service id , service secret

サーバー側の Hub サーバーからの許可でリクエストを処理します

非対話的に認証トークンを要求できるデスクトップまたはモバイルアプリケーション

トークンフローのリフレッシュ

service id , service secret

サーバー側の Hub サーバーからの許可でリクエストを処理します

自分に代わってリソースにアクセスする必要があるスクリプト

クライアントクレデンシャルフロー

service id , service secret

なし

一部のユーザーに代わってリソースにアクセスする必要があるスクリプト

リソース所有者のパスワードクレデンシャルフロー

service idservice secretusernamepassword

なし

持つべき情報

パラメーター

必要ですか?

説明

Client service ID

常時

Hub のクライアントに関連付けられているサービスの ID(ID)。

Client service secret

フローに依存

Hub のクライアントに関連付けられたサービスのシークレット。

Scope

常時

リソースサーバーに関連付けられた Hub サービスに登録されている ID。例: クライアントが YouTrack の課題にアクセスしたい場合は、Hub の YouTrack サービスの ID を見つける必要があります。

クライアントは、単一のアクセストークンで複数のリソースサーバーにアクセスできます。この場合、スコープは、Hub に登録されているサービスの ID のスペース区切りのリストです。

Client redirect URI

フローに依存

許可サーバー(Hub)からの応答を処理できるクライアントアプリケーションの URI。

Username

フローに依存

エンドユーザーのユーザー名、ID、メール。

Password

フローに依存

エンドユーザーのパスワード。

Hub の OAuth2.0 エンドポイント

Hub サービスの場合、認証とトークンの OAuth2.0 エンドポイントは次のとおりです。

  • 認証エンドポイント URL: <Hub Service URL>/api/rest/oauth2/auth

  • トークンエンドポイント URL: <Hub Service URL>/api/rest/oauth2/token

<Hub Service URL> は、ネットワーク環境で Hub サービス用に構成された URL です。例: 会社のサーバー www.mycompany.com と Hub サービスがあります。Hub は、www.mycompany.com/hub または hub.mycompany.com からアクセスできるように構成できます。その後、OAuth2.0 エンドポイントはそれぞれ次のようになります。

  • www.mycompany.com/hub の場合: https://www.mycompany.com/hub/api/rest/oauth2/auth および https://www.mycompany.com/hub/api/rest/oauth2/token

  • hub.mycompany.com の場合: https://hub.mycompany.com/api/rest/oauth2/auth および https://hub.mycompany.com/api/rest/oauth2/token

ユーザー情報と詳細データを取得する必要がある場合は、OpenIDConnect エンドポイント(英語)の説明を確認してください。

クライアントをサービスとして登録する

承認を有効にするには、クライアントを Hub サービスとして登録する必要があります。管理 UI(英語) またはプログラムで実行できます。基本的には、/services URL で POST リクエストを送信し、それに応じて新しく作成されたサービスの資格情報を取得するだけです。

クライアントをサービスとして登録するためのサンプルスクリプト

次のサンプルスクリプトは、Hub サービスが https://hub.company.com にインストールされ、クライアント OAuth2.0 サービスが https://myservice.company.com にインストールされていることを考慮しています。

リクエスト

POST /api/rest/services?fields=id,secret HTTP/1.1 Host: hub.company.com Accept: application/json Content-Type: application/json { "name": "My Service", "homeUrl": "https://myservice.company.com", "redirectUris": ["https://myservice.company.com/authorized"], "applicationName": "My Service", "vendor": "Company Inc.", "version": "1.0" }

レスポンス

{ "id": "98071167-004c-4ddf-ba37-5d4599fdf319", "secret": "eAUyKgVfhSbV" }

後で、サービスの id および secret を認証に使用できます。

Hub のサービスは、信頼できる場合と信頼できない場合があります。サービスが信頼されている場合、サービスはそれ自体に代わって Hub リソースサーバーにアクセスできます。また、ユーザーが信頼できるサービスから自分自身を承認するために送信された場合、ユーザーには追加の警告は表示されません。

2026 年 5 月 07 日