![NPM](https://img.shields.io/npm/l/next-protected-auth)
Next Protected Auth
Add protected routes to Next.js
Usage
import type { AppProps } from 'next/app';
import { useNextAuthProtected } from 'next-protected-auth';
function MyApp({ Component, pageProps }: AppProps) {
const isConnected = useNextAuthProtected({
publicURLs: ['/'],
loginURL: '/auth/login',
authCallbackURL: '/auth',
renewTokenFct: (oldAccessToken) => {
},
});
console.log('[USER] isConnected', isConnected);
return <Component {...pageProps} />;
}
export default MyApp;
import { NextAuthProtectedCallback } from 'next-protected-auth';
export default NextAuthProtectedCallback({
callback: () => {
},
});
export default AuthCallback;
import { NextAuthProtectedLogin } from 'next-protected-auth';
export default NextAuthProtectedLogin({
callback: () => {
},
});
export default AuthCallback;
import { NextAuthProtectedLogout } from 'next-protected-auth';
export default NextAuthProtectedLogout({
preCallback: () => {
},
callback: () => {
},
});
API
NextAuthProtectedLogin
Options
Field Name | Type | Description |
---|
callback | VoidFunction / AsyncVoidFunction | Specify a callback after login (generally redirect to oauth portal) |
authCallbackURL | string | Specify auth callback url in case of accessToken already exist |
Return: React Component
NextAuthProtectedLogout
Options
Field Name | Type | Description |
---|
preCallback | VoidFunction / AsyncVoidFunction | Specify a callback before logout (generally send to api that user want to logout) |
callback | VoidFunction / AsyncVoidFunction | Specify a callback after logout (generally redirect to home) |
Return: React Component
NextAuthProtectedCallback
Options
Field Name | Type | Description |
---|
callback | VoidFunction / AsyncVoidFunction | Specify a callback after auth callback (generally redirect to protected routes) |
Return: React Component
useNextAuthProtected
Options
Field Name | Type | Description |
---|
publicURLs | string[] | List of public URLs |
loginURL | string | Endpoint for login (ex: /auth/login) |
authCallbackURL | string | Endpoint for auth callback (ex: /auth) |
renewTokenFct | (oldAccessToken?: string) => string | Function who will run to renew token (ex: refresh token) |
verifyTokenFct | (accessToken?: string) => string | Function who test accessToken validity (ex: verify JWT token expiration) |
Return: Hook who need to be use to pages/_app.tsx
Maintain
This package use TSdx. Please check documentation to update this package.