Separate auth0 users depending on tenants
This commit is contained in:
@ -3,7 +3,6 @@ import ReactDOM from 'react-dom/client';
|
||||
import './index.css';
|
||||
import App from './App';
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
import { Auth0Provider } from '@auth0/auth0-react';
|
||||
import {
|
||||
ApolloClient,
|
||||
InMemoryCache,
|
||||
@ -15,12 +14,17 @@ import { setContext } from '@apollo/client/link/context';
|
||||
const httpLink = createHttpLink({ uri: process.env.REACT_APP_API_URL });
|
||||
|
||||
const authLink = setContext((_, { headers }) => {
|
||||
const requestHeaders = { ...headers };
|
||||
const token = localStorage.getItem('accessToken');
|
||||
const headerContainsPublicRole =
|
||||
requestHeaders.hasOwnProperty('x-hasura-default-role') &&
|
||||
requestHeaders['x-hasura-default-role'] === 'public';
|
||||
if (!headerContainsPublicRole && token) {
|
||||
requestHeaders['authorization'] = `Bearer ${token}`;
|
||||
}
|
||||
|
||||
return {
|
||||
headers: {
|
||||
...headers,
|
||||
authorization: token ? `Bearer ${token}` : '',
|
||||
},
|
||||
headers: requestHeaders,
|
||||
};
|
||||
});
|
||||
|
||||
@ -33,22 +37,9 @@ const root = ReactDOM.createRoot(
|
||||
document.getElementById('root') as HTMLElement,
|
||||
);
|
||||
root.render(
|
||||
<Auth0Provider
|
||||
domain={process.env.REACT_APP_AUTH0_DOMAIN || ''}
|
||||
clientId={process.env.REACT_APP_AUTH0_CLIENT_ID || ''}
|
||||
authorizationParams={{
|
||||
redirect_uri:
|
||||
window.location.protocol +
|
||||
'//' +
|
||||
window.location.host +
|
||||
process.env.REACT_APP_AUTH0_CALLBACK_URL || '',
|
||||
audience: process.env.REACT_APP_AUTH0_AUDIENCE || '',
|
||||
}}
|
||||
>
|
||||
<ApolloProvider client={client}>
|
||||
<BrowserRouter>
|
||||
<App />
|
||||
</BrowserRouter>
|
||||
</ApolloProvider>
|
||||
</Auth0Provider>,
|
||||
<ApolloProvider client={client}>
|
||||
<BrowserRouter>
|
||||
<App />
|
||||
</BrowserRouter>
|
||||
</ApolloProvider>,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user