sandbox-react/my-todo-list-ui-no-ux/app/components/private-route.jsx

35 lines
657 B
JavaScript

import React from 'react'
import { useAuth } from "react-oidc-context"
function PrivateRoute({ children }) {
const auth = useAuth()
if (auth.isLoading) {
return (
<div>
<p>Keycloak is loading</p>
<p>or running authorization code flow with PKCE</p>
</div>
)
}
if (auth.error) {
return (
<div>
<p>Oops ...</p>
<p>{auth.error.message}</p>
</div>
)
}
if (!auth.isAuthenticated) {
auth.signinRedirect()
return null
}
return children
}
export default PrivateRoute