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

Cognito

SquidはCognitoとシームレスに統合され、データのクエリや更新、実行ファイルの呼び出しなどのユーザー操作の認証を行います。

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

  • Integration ID - 任意のIDを選択できますが、簡潔で意味のあるものにすることをお勧めします
  • Region - AWSリージョン(例:us-east-1
  • User Pool ID - Cognitoユーザープールの一意のID
  • App Client ID - Cognitoユーザープール内のアプリクライアントのID

Cognito integration

Using the integration

統合を作成した後、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();
}