Skip to content
Snippets Groups Projects

Trying to implement openid

Merged Thomas SAUVAGE requested to merge trying-to-implement-openid into main
Files
2
import Env from '@ioc:Adonis/Core/Env'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import ElementNotFoundException from 'App/Exceptions/ElementNotFoundException'
import AuthCodeVerifier from 'App/Models/AuthCodeVerifier'
import User from 'App/Models/User'
import { ClientMetadata, Issuer, generators } from 'openid-client'
@@ -55,7 +56,14 @@ export const callbackSigmaUser = async ({ response, request, auth }: HttpContext
if (!params.state) throw new Error("The response from the auth server doesn't have a state")
// Get the codeVerifier from the DB
const { codeVerifier } = await AuthCodeVerifier.findOrFail(params.state)
const { codeVerifier } = (await AuthCodeVerifier.find(params.state)) ?? {
codeVerifier: undefined,
}
if (!codeVerifier)
throw new ElementNotFoundException(
'Code verifier not found in the database, maybe the user took too long to register'
)
const tokenSet = await client.callback(CALLBACK_URL, params, {
code_verifier: codeVerifier,
Loading