このセクションには、インサイトがまとめられており、すばやい解決と明確化を提供して、Monotype API の連携プロセスを簡素化します。API 連携の複雑な部分を明快かつ簡潔に解説して、開発者が行程をスムーズに進められるよう支援する、必要不可欠な基準点です。
概要
有料のエンタープライズ顧客は、プレミアムフォントインベントリにアクセスできます。そのため、エンタープライズ顧客は認可コードフローに組み込まれています。そのため、ユーザーの認証とともにアプリケーションの検証にも対応します。
前提条件
エンタープライズ顧客であることが条件です。
API 連携プロセスへのリダイレクト URL を共有する必要があります。Monotype はこの URL を使用して、Monotype デスクトップアプリケーションのセットアップ時に URL を登録します。
組織の一員としてユーザーをオンボードする招待状が届きます。
トークン
アクセストークン:アクセストークンとは、クライアントに発行される短期間有効な、一時的なトークンです。このトークンは、データやサービスなどの保護されたリソースへのアクセスに使用されます。アクセストークンには通常期限があるため、追加のセキュリティ層を提供します。アクセストークンの有効期限は 1 日(24 時間)に設定されています。
リフレッシュトークン:アクセストークンとは異なり、リフレッシュトークンは直接リソースへのアクセスを意図するものではありません。その主な目的は、既存のアクセストークンが期限切れまたは無効になった際に、新しいアクセストークンを取得することです。アクセストークンが何らかの理由で期限切れ、または無効になった場合でも、リフレッシュトークンを使用すれば新しいアクセストークンを取得でき、クレデンシャルの再入力は不要です。
認証
ユーザーログイン
Monotype の営業担当者またはパートナーから、アプリケーションのクライアント ID とクライアントシークレットを取得します。
クライアント ID とリダイレクト URL を使用して、ユーザーをログイン画面にリダイレクトします。以下の URL を実行します。
<clientid> | Monotype から取得した clientId |
<redirecturi> | クライアントが共有し、成功裏にログインした後にコードが送信されるリダイレクト URL |
ユーザーはこの URL から、Monotype のログインページにリダイレクトされます。次に、ユーザーはクレデンシャルを入力します。このクレデンシャルは、ユーザーが Monotype からの招待を受け取った際に初期設定されています。
ログイン情報を入力します。
成功裏にログイン後、リダイレクト URL に認可コードが送信されます。
トークンの生成
リダイレクト URL から認可コードを抽出します。認可コードは、クエリパラメータとして URL に付加されています。
以下の curl コマンドを実行して、アクセストークンとリフレッシュトークンを生成します。
curl --location 'https://api.monotype.com/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authcode>' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=<code>' \
--data-urlencode 'redirect_uri=<redirecturi>'
<authcode> | Base64 にはストリング Clientid:Clientsecret がエンコードされています。 |
<code> | ユーザーのログイン後、リダイレクト URL から抽出されます。 注記:このコードは、トークンの生成または上記の curl コマンドの実行に一度だけ使用できます。 |
<redirecturi> | Monotype の登録顧客が共有した URL |
正常に実行された後、生成されたアクセストークンとリフレッシュトークンを記録します。
アクセストークンを使用して、API を呼び出すことができます。アクセストークンの有効期限が切れた後、リフレッシュトークンフローを使って、アクセストークンを更新できます。
リフレッシュトークン
以下の curl コマンドを実行して、トークンを更新します。リフレッシュトークンは、新しいアクセストークンの生成に一度だけ使用できます。以下の curl コマンドは、新しいアクセストークンと新しいリフレッシュトークンを返します。これらを使用して新たにトークンを生成します。
curl --location 'https://api.monotype.com/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authcode>' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'refresh_token=<refreshtoken>'
<authcode> | Base64 にはストリング Clientid:Clientsecret がエンコードされています |
<refreshtoken> | リフレッシュトークンを生成して記録します |
正常に実行した後、新しいアクセストークンと新しいリフレッシュトークンが生成されます。新しいアクセストークンとリフレッシュトークンを記録します。
トークン取り消しフローを使って、既存のリフレッシュトークンを取り消します。新しいリフレッシュトークンを使用して、再度トークンを生成します。
同じリフレッシュトークンを再度使用すると、リフレッシュトークンの再利用が検出され、生成されたリフレッシュトークンがすべて無効となります。その場合、再度ログインしてトークンを生成する必要があります。
トークンの取り消し
トークンを取り消すには、以下の curl コマンドを実行します。
curl --location 'https://api.monotype.com/v2/oauth/token/revoke' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authcode>' \
--data-urlencode 'token=<token>'
<authcode> | Base64 にはストリング Clientid:Clientsecret がエンコードされています。 |
<token> | 取り消す必要があるリフレッシュトークン。 |
ステータスコード 200 によりトークンが取り消されます。
API の呼び出し
アクセストークンを使用して Monotype API を呼び出します。例:
curl --location --request POST 'https://api.monotype.com/v1/fonts/search' \
--header 'Authorization: Bearer <accesstoken>'
<accesstoken> | 認証 API から生成されたアクセストークンです。 |