1.0.3 • Published 2 months ago

@elysiajs/lucia-auth v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@elysiajs/lucia-auth

Plugin for elysia authentication using Lucia

Installation

bun add @elysiajs/lucia-auth

Example

const { elysia, lucia, oauth } = Lucia({
    adapter: adapter(new PrismaClient())
})
    
const auth = new Elysia({ prefix: '/auth' })
    .use(elysia)
    .use(
        oauth.github({
            clientId: GH_CLIENT_ID,
            clientSecret: GH_CLIENT_SECRET
        })
    )
    .guard(
        {
            body: t.Object({
                username: t.String(),
                password: t.String()
            })
        },
        (app) =>
            app
                .put('/sign-up', async ({ body, user }) => user.signUp(body))
                .post(
                    '/sign-in',
                    async ({ user, body: { username, password } }) => {
                        await user.signIn(username, password)

                        return `Sign in as ${username}`
                    }
                )
    )
    .guard(
        {
            beforeHandle: ({ user: { validate } }) => validate()
        },
        (app) =>
            app
                .get('/profile', ({ user }) => user.data)
                .delete('/profile', async ({ user }) => {
                    await user.delete({
                        'confirm': 'DELETE ALL USER DATA and is not reversible'
                    })

                    return 'Signed out'
                })
                .get('/sign-out', async ({ user }) => {
                    await user.signOut()

                    return 'Signed out'
                })
    )
1.0.2

2 months ago

1.0.3

2 months ago

1.0.0-exp.0

2 months ago

0.8.0-exp.1

4 months ago

0.8.0-exp.0

4 months ago

0.7.0-exp.0

7 months ago

0.7.0-exp.1

7 months ago