next-protected-auth
v2.0.402
Published
[![Maintainability](https://api.codeclimate.com/v1/badges/1c3d4f9f17d9514df0ec/maintainability)](https://codeclimate.com/github/qlaffont/next-protected-auth/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/1c3d4f9f17d9514df0ec/test
Downloads
1,725
Readme
Next Protected Auth
Add protected routes to Next.js. Old Owner: @flexper
Usage
See example folder
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
useNextAuthProtectedHandler
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) | | allowNotFound | boolean? | Allow to consult Not found pages in public |
Return: Hook who need to be use to pages/_app.tsx
useNextAuthProtected
Return: {isConnected: boolean; setIsConnected: Dispatch} // User is connected
getAndSaveAccessToken
Options
| Field Name | Type | Description | | ------------- | ------------------------------------------------------ | ------------------------------------------------------------ | | renewTokenFct | (oldAccessToken?: string) => string OR Promise | Function who will run to renew token (ex: refresh token) to | | accessToken | string | access token to save |
Return: boolean (Token is saved)
getAccessToken
Return: string (Return access token)
removeAccessToken
Return: void
Maintain
This package use TSdx. Please check documentation to update this package.