Cognito
Squid は Cognito とシームレスに統合し、data の query や update、executable の呼び出しなどの user action を authorize します。
この integration を構成するには、次の情報を指定する必要があります。
- Integration ID - 任意の ID を選択できますが、短く意味のあるものにすることを推奨します
- Region -
us-east-1などの AWS region - User Pool ID - Cognito user pool の unique ID
- App Client ID - Cognito user pool 内の app client の ID

Integration の使用
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();
},
});
token が client に渡されると、Squid は backend function で使用できる user の authentication information を自動的に設定します。
Backend code
@secureCollection('users', 'read')
secureUsersRead(context: QueryContext<User>): boolean {
const userAuth = this.getUserAuth();
}