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

Cognito

Squid は Cognito とシームレスに統合され、データの問い合わせや更新、実行ファイルの呼び出しなどのユーザーアクションの認可を行います。

この統合を設定するには、以下の情報を提供する必要があります:

  • Integration ID - 任意の ID を選択できますが、できるだけ簡潔かつ意味のあるものにするのがおすすめです
  • Region - 例: us-east-1 のような、あなたの AWS リージョン
  • User Pool ID - Cognito ユーザープールの固有の ID
  • App Client ID - Cognito ユーザープール内のアプリクライアントの ID

Cognito 統合

統合の使用方法

統合を作成したら、Squid Client SDK を使用して、Cognito Access token または Cognito access token を Squid に渡すことができます:

Client code
import { Auth } from 'aws-amplify';

// This will also support the accessToken.
squid.setAuthProvider({
integrationId: 'COGNITO_INTEGRATION_ID',
getToken: async () => {
const session = await Auth.currentSession();
return session.getAccessToken().getJwtToken();
},
});

トークンがクライアントに渡されると、Squid は自動的にバックエンド関数で使用するためのユーザーの認証情報を設定します:

Backend code
@secureCollection('users', 'read')
secureUsersRead(context: QueryContext<User>): boolean {
const userAuth = this.getUserAuth();
}