JWT RSA
JWT RSA統合により、Squidは公開されている公開鍵があれば、任意のRSA署名付きJWTとの統合が可能になります。
場合によっては、Auth provider からトークンを受け取る代わりに、独自のカスタム認証トークンを使用することがあります。これらのトークンは、最も一般的には JWTs として発行され、いくつかの異なる署名アルゴリズムで署名されることがあります。この統合は、RSAアルゴリズムを使用した公開/秘密鍵ペアで署名されたJWTをサポートします。
JWT RSA統合を作成する際には、以下の情報を提供する必要があります:
- JWKS URI: トークンの検証に使用できる、公開されているJSON Web Keys Setを取得するためのURI。
- Validations: トークンの発行者やトークンの意図したaudienceを確認するためのオプションのチェック。
- Issuer: トークンの発行者(iss)が指定された値と一致することを検証します。
- Audience: トークンのaudience(aud)が指定された値と一致することを検証します。
仕組み
Squidに渡されたJWTが有効であることを検証するために、Squidはトークンに関連する公開鍵を取得します。これはJWT RSA統合を作成する際に渡される JWKS URI
を介して取得されます。
統合の使用方法
統合を作成したら、Squid Client SDK を使用して Access Token を 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();
}