> For the complete documentation index, see [llms.txt](https://phoenixcoded.gitbook.io/able-pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://phoenixcoded.gitbook.io/able-pro/react/authentication/switch-to-aws-cognito.md).

# Switch to AWS Cognito

### **JWT to AWS Cognito**

1. **Set AWS Config**

At present, AWS uses a dummy config, so we don't need to change anything, but in actual implementation, you need to set poolId and appClientId in the following file. For more details, refer to AWS here: <https://aws.amazon.com/cognito/>

{% code title=".env" %}

```javascript
...

## AWS

VITE_APP_AWS_POOL_ID=
VITE_APP_AWS_APP_CLIENT_ID=

...
```

{% endcode %}

2. **Change Config**

{% tabs %}
{% tab title="VITE (TS)" %}
{% code title="src/config.ts" %}

```typescript
export const APP_AUTH: AuthProvider = AuthProvider.AWS;
```

{% endcode %}
{% endtab %}

{% tab title="VITE (JS)" %}
{% code title="src/config.js" %}

```javascript
export const APP_AUTH: AuthProvider = AuthProvider.AWS;
```

{% endcode %}
{% endtab %}
{% endtabs %}

3. **Change AuthProvider**

&#x20;      Comment out another provider in the following file and uncomment the AWS one.

{% tabs %}
{% tab title="VITE (TS)" %}
{% code title="src/App.tsx" %}

```typescript
import { AWSCognitoProvider as AuthProvider } from 'contexts/AWSCognitoContext';
```

{% endcode %}
{% endtab %}

{% tab title="VITE (JS)" %}
{% code title="src/App.jsx" %}

```javascript
import { AWSCognitoProvider as AuthProvider } from 'contexts/AWSCognitoContext';
```

{% endcode %}
{% endtab %}
{% endtabs %}

4. **Change auth Hooks**

&#x20;      Comment out another context in the following file and uncomment the AWS one.

{% tabs %}
{% tab title="VITE (TS)" %}
{% code title="src/hooks/useAuth.ts" %}

```typescript
import AuthContext from 'contexts/AWSCognitoContext';
```

{% endcode %}
{% endtab %}

{% tab title="VITE (JS)" %}
{% code title="src/hooks/useAuth.js" %}

```javascript
import AuthContext from 'contexts/AWSCognitoContext'; 
```

{% endcode %}
{% endtab %}
{% endtabs %}
