@barejs/auth-provider
v1.0.0
Published
An authentication provider for React and the bare suite
Downloads
19
Maintainers
Readme
@barejs/auth-provider
An authentication provider for bareASGI-auth-server.
When the component is mounted it attempts to gather credentials for the whoamiPath
link.
If this fails the app is redirected to the loginPath
link with the current url passed
as the query arg to allow the login app to redirect back to this page.
On success the renderer
prop is called with authFetch
(a fetch implementation
that will redirect if the app server responds with 401 - unauthenticated) and
authCredentials
(the authentication credentials provided by a GET
to whoamiPath
).
Example
import React, { Component } from 'react'
import { createTheme, ThemeProvider } from '@mui/material/styles'
import { AuthenticatedApp } from '@barejs/auth-provider'
const Site = (authFetch, authCredentials) => <div>An authenticated site</div>
const theme = createTheme()
class App extends Component {
render() {
return (
<ThemeProvider theme={theme}>
<AuthenticatedApp
loginPath="/auth/ui/login"
whoamiPath="/auth/api/whoami"
renderer={props => <Site {...props} />}
/>
</ThemeProvider>
)
}
}
export default App