Skip to main content

Cognito

Squid seamlessly integrates with Cognito to authorize user actions like querying and updating data, calling executables, etc.

To configure this integration, you'll need to provide the following information:

  • Integration ID - You can select an ID of your choice, but it's better to keep it brief and meaningful
  • Region - Your AWS region, such as us-east-1
  • User Pool ID - The unique ID of your Cognito user pool
  • App Client ID - The ID of the app client in your Cognito user pool

Cognito integration

Using the integration

Once you've created an integration, you can use the Squid Client SDK to pass either the Cognito Access token or Cognito access token to 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();
},
});

Once the token is passed to the client, Squid will automatically populate the user's authentication information for use in your backend functions:

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