JWT RSA
JWT RSA 統合により、Squid は公開されている署名用公開鍵を利用することで、任意のRSA署名されたJWTと連携できます。
場合によっては、認証プロバイダからトークンを受け取る代わりに、独自のカスタム認証トークンを使用していることがあります。これらのトークンは主に JWTs として発行され、いくつかの異なる署名アルゴリズムで署名されることがあります。この統合は、RSAアルゴリズムを使用した公開鍵/秘密鍵ペアで署名されたすべてのJWTをサポートします。
JWT RSA 統合を作成する際には、以下の情報を提供する必要があります:
- JWKS URI: トークンの検証に使用できる、公開されている JSON Web Keys Set を取得するためのURI
- Validations: トークンを発行した主体や、トークンの対象 (audience) を検証するためのオプションのチェック
- Issuer: トークンの発行者 (
iss) が指定された値と一致しているかを検証 - Audience: トークンの対象 (
aud) が指定された値と一致しているかを検証

動作の仕組み
Squid に渡されたJWTが有効であることを確認するために、Squidはそのトークンに関連付けられた公開鍵を取得します。これは、JWT RSA 統合作成時に指定する JWKS URI を通じて取得されます。
統合の使用方法
統合を作成した後、Squid Client SDK を使用してアクセス トークンを Squid に渡すことができます:
Client code
squid.setAuthProvider({
integrationId: 'AUTH_INTEGRATION_ID',
getToken: () => 'USER_AUTH_ID_TOKEN',
});
これにより、バックエンド関数で使用するためにユーザーの認証情報が自動的に設定されます:
Backend code
@secureCollection('users', 'read')
secureUsersRead(context: QueryContext<User>): boolean {
const userAuth = this.getUserAuth();
}