110 lines
3.5 KiB
TypeScript
110 lines
3.5 KiB
TypeScript
/**
|
|
* Config source: https://git.io/JY0mp
|
|
*
|
|
* Feel free to let us know via PR, if you find something broken in this config
|
|
* file.
|
|
*/
|
|
|
|
import { AuthConfig } from '@ioc:Adonis/Addons/Auth'
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Authentication Mapping
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| List of available authentication mapping. You must first define them
|
|
| inside the `contracts/auth.ts` file before mentioning them here.
|
|
|
|
|
*/
|
|
const authConfig: AuthConfig = {
|
|
guard: 'api',
|
|
guards: {
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| OAT Guard
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| OAT (Opaque access tokens) guard uses database backed tokens to authenticate
|
|
| HTTP request. This guard DOES NOT rely on sessions or cookies and uses
|
|
| Authorization header value for authentication.
|
|
|
|
|
| Use this guard to authenticate mobile apps or web clients that cannot rely
|
|
| on cookies/sessions.
|
|
|
|
|
*/
|
|
api: {
|
|
driver: 'oat',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Tokens provider
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Uses SQL database for managing tokens. Use the "database" driver, when
|
|
| tokens are the secondary mode of authentication.
|
|
| For example: The Github personal tokens
|
|
|
|
|
| The foreignKey column is used to make the relationship between the user
|
|
| and the token. You are free to use any column name here.
|
|
|
|
|
*/
|
|
tokenProvider: {
|
|
type: 'api',
|
|
driver: 'database',
|
|
table: 'api_tokens',
|
|
foreignKey: 'user_id',
|
|
},
|
|
|
|
provider: {
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Driver
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Name of the driver
|
|
|
|
|
*/
|
|
driver: 'lucid',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Identifier key
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The identifier key is the unique key on the model. In most cases specifying
|
|
| the primary key is the right choice.
|
|
|
|
|
*/
|
|
identifierKey: 'id',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Uids
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Uids are used to search a user against one of the mentioned columns. During
|
|
| login, the auth module will search the user mentioned value against one
|
|
| of the mentioned columns to find their user record.
|
|
|
|
|
*/
|
|
uids: ['username'],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Model
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The model to use for fetching or finding users. The model is imported
|
|
| lazily since the config files are read way earlier in the lifecycle
|
|
| of booting the app and the models may not be in a usable state at
|
|
| that time.
|
|
|
|
|
*/
|
|
model: () => import('App/Models/Employee'),
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
export default authConfig
|