frontend/src/app/AuthHTTPWrapper.tsx
2024-10-24 12:21:52 -06:00

47 lines
1.3 KiB
TypeScript

import { Auth0Provider } from '@auth0/auth0-react'
import { or } from '../utils/types'
import AuthWrapper from '../providers/auth'
import HTTPProvider from '../providers/http'
import App from './App'
import { useState } from 'react'
function AuthHTTPWrapper() {
const [gotToken, setGotToken] = useState(false)
let url: string | undefined = window.location.origin;
let audience: string | undefined;
if (window.location.origin === "https://staging.brandxtech.ca") {
url = import.meta.env.VITE_AUTH0_CLIENT_STAGING_DOMAIN;
audience = import.meta.env.VITE_AUTH0_STAGING_AUDIENCE;
} else {
url = import.meta.env.VITE_AUTH0_CLIENT_DOMAIN;
audience = import.meta.env.VITE_AUTH0_AUDIENCE;
}
let client_id = import.meta.env.VITE_AUTH0_BXT_CLIENT_ID;
return (
<Auth0Provider
domain={or(url, "")}
clientId={or(client_id, "")}
authorizationParams={{
audience: or(audience, ""),
redirect_uri: window.location.origin + "/callback"
}}
useRefreshTokens={true}
cacheLocation='localstorage'
>
<AuthWrapper>
<HTTPProvider setGotToken={setGotToken}>
{gotToken ?
<App/>
:
<p>hi</p>
}
</HTTPProvider>
</AuthWrapper>
</Auth0Provider>
)
}
export default AuthHTTPWrapper