Keycloak
Keycloak サーバーを Squid に接続して、データのクエリや更新、実行可能ファイルの呼び出しなどのユーザーアクションを認可します。
Keycloak は、シングルサインオン、ユーザーフェデレーション、きめ細かな認可を提供する、オープンソースの identity and access management ソリューションです。
Squid で Keycloak connector を使用するには、まず以下の手順で Keycloak サーバーを Squid に接続します。
- Squid Console に移動します。アプリと環境(dev または prod)を選択し、Integrations タブをクリックします。
- 次の詳細を入力します。
- Integration ID - 簡潔で、integration を識別しやすい ID を選択します。
- Domain - Keycloak サーバーの URL(例:
https://keycloak.example.com)。 - Realm - Keycloak realm の名前。
- Client ID - Keycloak realm に設定されている OAuth 2.0 client ID。
- Add integration をクリックします。

connector の使用方法
connector を作成したら、Squid Client SDK を使用して Keycloak token を Squid に渡すことができます。
Client code
import Keycloak from 'keycloak-js';
const keycloak = new Keycloak({
url: 'https://keycloak.example.com',
realm: 'your-realm',
clientId: 'your-client-id',
});
// Initialize Keycloak before setting the auth provider
await keycloak.init({ onLoad: 'login-required' });
squid.setAuthProvider({
integrationId: 'KEYCLOAK_INTEGRATION_ID',
getToken: () => keycloak.token,
});
token が client に渡されると、Squid はバックエンド関数で使用できるように、ユーザーの認証情報を自動的に設定します。
Backend code
@secureCollection('users', 'read')
secureUsersRead(context: QueryContext<User>): boolean {
const userAuth = this.getUserAuth();
}