JWT RSA
JWT RSA integration を使用すると、public signing key が公開されている限り、Squid を RSA signed JWT と統合できます。
Auth provider から token を受け取る代わりに、独自の custom authentication token を使用する場合があります。これらの token は、通常 JWT として発行され、いくつかの異なる signing algorithm で sign できます。この integration は、RSA algorithm を使用した public/private key pair で sign された任意の JWT をサポートします。
JWT RSA integration を作成する場合は、次の情報を指定する必要があります。
- JWKS URI: token の verification に使用できる、公開されている JSON Web Keys Set を fetch する URI。
- Validations: token の issuer と対象 audience を検証する optional な check。
- Issuer: token の issuer(
iss)が指定 value と一致することを検証します。 - Audience: token の audience(
aud)が指定 value と一致することを検証します。

仕組み
Squid に渡された JWT が valid であることを検証するために、Squid は token に関連付けられた public key を fetch します。これは JWT RSA integration の作成時に渡す必要がある JWKS URI を通じて fetch されます。
Integration の使用
integration を作成したら、Squid Client SDK を使用して Access Token を Squid に渡すことができます。
Client code
squid.setAuthProvider({
integrationId: 'AUTH_INTEGRATION_ID',
getToken: () => 'USER_AUTH_ID_TOKEN',
});
これにより、backend function で使用する user の authentication information が自動的に設定されます。
Backend code
@secureCollection('users', 'read')
secureUsersRead(context: QueryContext<User>): boolean {
const userAuth = this.getUserAuth();
}