組織テンプレートで API リソースを保護する
有効な JWT が存在することを確認することでリソースを保護する API を保護する に加えて、組織のロールを適用してスコープをフィルタリングすることもできます。この記事では、組織のロールが認証 (Authentication) フローにおけるスコープの委任と検証にどのように影響するかに焦点を当てます。
追加の organization_id
パラメーター
通常のアクセス トークン付与リクエストに加えて、図では追加の organization_id
パラメーターを追加しています。これにより、Logto は特定の組織のロールにスコープを絞り込むことができます。
クライアント設定
Logto の SDK を使用している場合、getAccessToken
メソッドの第 2 パラメーターとして organization_id
を追加できます。
const accessToken = await logto.getAccessToken('https://my-resource.com/api', 'org_1');
// またはクレームを直接取得
const accessTokenClaims = await logto.getAccessTokenClaims('https://my-resource.com/api', 'org_1');
console.log(accessTokenClaims.organization_id); // 'org_1'
console.log(accessTokenClaims.aud); // 'https://my-resource.com/api'
その後、この組織のロールから継承されたスコープのみがアクセス トークンに含まれ、追加のクレーム organization_id
も含まれます。
API サーバーの検証
通常の JWT アクセス トークンの検証に加えて、organization_id
が存在し有効であるかどうかを確認する追加のレベルを追加する必要があります。