# Switch to AWS Cognito

{% tabs %}
{% tab title="VITE(TS)" %}

### **JWT to AWS Cognito**

1. **Set AWS Config**

&#x20;      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" %}

```typescript
...

## AWS
VITE_APP_AWS_POOL_ID=
VITE_APP_AWS_APP_CLIENT_ID=

...
```

{% endcode %}

2. **Change Config**

{% code title="src\config.ts" %}

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

{% endcode %}

3. **Change AuthProvider**

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

{% code title="src/App.tsx" %}

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

{% endcode %}

4. **Change Auth Hooks**

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

{% code title="src/hooks/useAuth.ts" %}

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

{% endcode %}
{% endtab %}

{% tab title="VITE(JS)" %}

### **JWT to AWS Cognito**

1. **Set AWS Config**

&#x20;      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**

{% code title="src\config.ts" %}

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

{% endcode %}

3. **Change AuthProvider**

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

{% code title="src/App.tsx" %}

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

{% endcode %}

4. **Change Auth Hooks**

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

{% code title="src/hooks/useAuth.ts" %}

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

{% endcode %}
{% endtab %}

{% tab title="NEXT(TS)" %}
{% hint style="info" %}
**For nextJS**, refer next-auth site: <https://next-auth.js.org/providers/cognito>
{% endhint %}
{% endtab %}

{% tab title="NEXT(JS)" %}
{% hint style="info" %}
**For nextJS**, refer next-auth site: <https://next-auth.js.org/providers/cognito>
{% endhint %}
{% endtab %}
{% endtabs %}
