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

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 と一致することを検証します。

JWT RSA integration

仕組み​

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