worked on authController

This commit is contained in:
Sockenklaus
2021-10-20 01:21:44 +02:00
parent 4d7f2efedb
commit 5173e8d4c9
5 changed files with 111 additions and 6 deletions

View File

@@ -29,5 +29,11 @@
], ],
"aceProviders": [ "aceProviders": [
"@adonisjs/repl" "@adonisjs/repl"
],
"metaFiles": [
{
"pattern": "public/**",
"reloadServer": false
}
] ]
} }

View File

@@ -1 +1,6 @@
SESSION_DRIVER=cookie SESSION_DRIVER=cookie
DB_CONNECTION=sqlite
PORT=3333
HOST=0.0.0.0
NODE_ENV=development
DRIVE_DISK=local

View File

@@ -1,16 +1,21 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Logger from '@ioc:Adonis/Core/Logger'
export default class AuthController { export default class AuthController {
public async login({auth, request, response}: HttpContextContract) { public async login({auth, request, response}: HttpContextContract) {
const username = request.input('username') const username = request.body().username
const password = request.input('password') const password = request.body().password
try { try {
await auth.attempt(username, password) await auth.attempt(username, password)
response.ok("Login successful") return response.ok({
Message: 'Login successful!',
user: auth.user?.username,
role: auth.user?.role
})
} catch (error) { } catch (error) {
return error return response.forbidden('Unauthorized')
} }
} }

View File

@@ -20,7 +20,7 @@ const corsConfig: CorsConfig = {
| you can define a function to enable/disable it on per request basis as well. | you can define a function to enable/disable it on per request basis as well.
| |
*/ */
enabled: false, enabled: true,
// You can also use a function that return true or false. // You can also use a function that return true or false.
// enabled: (request) => request.url().startsWith('/api') // enabled: (request) => request.url().startsWith('/api')
@@ -44,7 +44,7 @@ const corsConfig: CorsConfig = {
| one of the above values. | one of the above values.
| |
*/ */
origin: true, origin: 'http://localhost:3000',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

89
config/static.ts Normal file
View File

@@ -0,0 +1,89 @@
/**
* Config source: https://git.io/Jfefl
*
* Feel free to let us know via PR, if you find something broken in this config
* file.
*/
import { AssetsConfig } from '@ioc:Adonis/Core/Static'
const staticConfig: AssetsConfig = {
/*
|--------------------------------------------------------------------------
| Enabled
|--------------------------------------------------------------------------
|
| A boolean to enable or disable serving static files. The static files
| are served from the `public` directory inside the application root.
| However, you can override the default path inside `.adonisrc.json`
| file.
|
|
*/
enabled: true,
/*
|--------------------------------------------------------------------------
| Handling Dot Files
|--------------------------------------------------------------------------
|
| Decide how you want the static assets server to handle the `dotfiles`.
| By default, we ignore them as if they don't exists. However, you
| can choose between one of the following options.
|
| - ignore: Behave as if the file doesn't exists. Results in 404.
| - deny: Deny access to the file. Results in 403.
| - allow: Serve the file contents
|
*/
dotFiles: 'ignore',
/*
|--------------------------------------------------------------------------
| Generating Etag
|--------------------------------------------------------------------------
|
| Handle whether or not to generate etags for the files. Etag allows browser
| to utilize the cache when file hasn't been changed.
|
*/
etag: true,
/*
|--------------------------------------------------------------------------
| Set Last Modified
|--------------------------------------------------------------------------
|
| Whether or not to set the `Last-Modified` header in the response. Uses
| the file system's last modified value.
|
*/
lastModified: true,
/*
|--------------------------------------------------------------------------
| Max age
|--------------------------------------------------------------------------
|
| Set the value for the max-age directive. Set a higher value in production
| if you fingerprint your assets.
|
| Learn more: https://docs.adonisjs.com/guides/deployment#serving-static-assets
|
*/
maxAge: 0,
/*
|--------------------------------------------------------------------------
| Immutable
|--------------------------------------------------------------------------
|
| Set the immutable directive. Set it to `true` if the assets are generated
| with a fingerprint. In others words the file name changes when the file
| contents change.
|
*/
immutable: false,
}
export default staticConfig