メインコンテンツまでスキップ

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)が指定された値と一致することを検証します。

JWT RSA integration

仕組み

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();
}