Replies: 2 comments
-
//vue3 |
Beta Was this translation helpful? Give feedback.
0 replies
-
All Inertia requests must receive a valid Inertia response, however a plain JSON response was received. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
//route
import AuthController from '#controllers/auth_controller'
router.on('/login').renderInertia('auth/login')
router.post('/login', [AuthController,'login']).as('login')
//controller
import type { HttpContext } from '@adonisjs/core/http'
import User from "#models/user";
import { loginUserValidator, registerUserValidator } from '#validators/auth'
async login({request, auth, session, response} : HttpContext ) {
const {email, password} = await request.validateUsing(loginUserValidator)
const user = await User.verifyCredentials(email, password)
await auth.use('web').login(user)
session.flash("success", "Connexion Ok!!")
return response.redirect().toRoute("login")
}
//vue3
...//auth.ts
import { defineConfig } from '@adonisjs/auth'
import { InferAuthEvents, Authenticators } from '@adonisjs/auth/types'
import { sessionGuard, sessionUserProvider } from '@adonisjs/auth/session'
const authConfig = defineConfig({
default: 'web',
guards: {
web: sessionGuard({
useRememberMeTokens: false,
provider: sessionUserProvider({
model: () => import('#models/user')
}),
}),
},
})
//user.ts model
import { DateTime } from 'luxon'
import hash from '@adonisjs/core/services/hash'
import { compose } from '@adonisjs/core/helpers'
import { BaseModel, column } from '@adonisjs/lucid/orm'
import { withAuthFinder } from '@adonisjs/auth/mixins/lucid'
const AuthFinder = withAuthFinder(() => hash.use('scrypt'), {
uids: ['email'],
passwordColumnName: 'password',
})
export default class User extends compose(BaseModel, AuthFinder) {
@column({ isPrimary: true })
declare id: number
@column()
declare fullName: string | null
@column()
declare email: string
@column()
declare password: string
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime | null
}
The login functionality for accessing the backend is failing!!!
Beta Was this translation helpful? Give feedback.
All reactions