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
-
//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