> 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-auth0.md).

# Switch to Auth0

### JWT **to Auth0**

1. **Set Auth0 Config**

At present, Auth0 uses a dummy client ID and domain, so we don't need to change anything, but in actual implementation, you need to set the client ID and domain in the following file. For more details, refer to Auth0 here: <https://auth0.com/docs/get-started/auth0-overview>

{% code title=".env" %}

```
...
## Auth0
VITE_APP_AUTH0_CLIENT_ID=
VITE_APP_AUTH0_DOMAIN=
...
```

{% endcode %}

2. **Change Config**

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

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

{% endcode %}
{% endtab %}

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

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

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

3. **Change AuthProvider**

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

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

```typescript
import { Auth0Provider as AuthProvider } from 'contexts/Auth0Context';
```

{% endcode %}
{% endtab %}

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

```javascript
import { Auth0Provider as AuthProvider } from 'contexts/Auth0Context';
```

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

4. **Change auth Hooks**

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

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

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

{% endcode %}
{% endtab %}

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

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

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