EffortlessAuthenticationfor your Web Application.
import { Auth } from '@vulpo-dev/auth-sdk'
import { Route } from 'react-router-dom'
import { AuthShell, useUser } from '@vulpo-dev/auth-ui'
import { Auth as AuthCtx, useAuth } from '@vulpo-dev/auth-react'
import Prism from 'prismjs'
import { useEffect } from 'react'
let AuthClient = Auth.create({
project: process.env.NEXT_PUBLIC_AUTH_PROJECT ?? '',
baseURL: process.env.NEXT_PUBLIC_AUTH_URL ?? ''
})
export default function App() {
useEffect(() => {
Prism.highlightAll()
})
return (
<AuthCtx.Provider value={AuthClient}>
<AuthShell basename='ui'>
<Route path='/' element={<DummyPage />}/>
</AuthShell>
</AuthCtx.Provider>
)
}
let DummyPage = () => {
let auth = useAuth()
let user = useUser()
return (
<div className='demo-wrapper'>
<button className='demo-signout' onClick={() => auth.signOut()}>
Sign Out
</button>
<a href='/guides'>Get Started</a>
<pre>
<code className="language-json">
{ JSON.stringify(user, null, 2) }
</code>
</pre>
</div>
)
}
Try me
Roadmap
- Email Password Authentication Complete
- Reset Password Complete
- Verify Email Complete
- Passwordless Authentication Complete
- Sign in with Google Complete
- Multiple Projects Complete
- Email Internationalization Complete
- Pre-built React UI Complete
- Admin Dashboard Complete
- API Keys Complete
- Update Users Email Complete
- Attribute Based Access Control In Progress
- Pre-built Vue and Angular UI Planned
- Two Factor Authentication Planned
- Advanced User Management Planned
- Support next.js and remix Planned
- Server-side Admin SDKs Planned
- Support for iOS and Android Planned
- Role Based Access Control Planned