es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Vuex-OIDC – Falta la configuración obligatoria `authority` de oidc para crear UserManager.

¡Hola chicos, espero que haya alguien que pueda ayudarme!

Estoy intentando usar OIDC en mi aplicación, pero obtengo el error del título:
“Error no capturado: parámetro obligatorio de oidc ‘authority’ ausente para crear UserManager”
Estoy utilizando vuex-oidc en una aplicación de Nuxt.

Este es mi archivo .env:

BASE_URL = http://localhost:3000/
AUTHORITY = https://***/***/v2.0/.well-known/openid-configuration?p=B2C_1A_SEAMLESSMIGRATION_SIGNUPORSIGNIN
CLIENT_ID = *****
TOKEN_ENDPOINT = https://***/***/oauth2/v2.0/token?p=B2C_1A_SEAMLESSMIGRATION_SIGNUPORSIGNIN
RESPONSE_TYPE = id_token
SCOPE = https://***/***/Read openid

y aquí está mi archivo oidc.js (en la tienda) que contiene la configuración de oidc:

import { vuexOidcCreateStoreModule } from 'vuex-oidc'

const oidcSettings = {
  authority: process.env.AUTHORITY,
  clientId: process.env.CLIENT_ID,
  tokenEndpoint: process.env.TOKEN_ENDPOINT,
  redirectUri: process.env.BASE_URL + '/callback',
  responseType: process.env.RESPONSE_TYPE,
  scope: process.env.SCOPE
}

const storeModule = vuexOidcCreateStoreModule(
  oidcSettings,
  {
    namespaced: true,
    dispatchEventsOnWindow: true,
    publicRoutePaths: ['/', 'oidc-callback-error']
  },
  {
    userLoaded: user => console.log('OIDC user is loaded:', user),
    userUnloaded: () => console.log('OIDC user is unloaded'),
    accessTokenExpiring: () => console.log('Access token will expire'),
    accessTokenExpired: () => console.log('Access token did expire'),
    silentRenewError: () => console.log('OIDC user is unloaded'),
    userSignedOut: () => console.log('OIDC user is signed out')
  }
)

export const state = () => (storeModule.state)

export const getters = storeModule.getters

export const actions = storeModule.actions

export const mutations = storeModule.mutations

¿Me falta algo? ¿Alguien sabe por qué estoy obteniendo este error?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el error “Missing required oidc setting authority for creating UserManager” es causado por la ausencia de la configuración “authority” en tu objeto oidcSettings.

    Has definido la “authority” en tu archivo .env, pero parece que la variable process.env no se está traduciendo correctamente en el archivo oidc.js.

    Para solucionar esto, puedes intentar importar el paquete dotenv en la parte superior del archivo oidc.js y configurarlo:

    import dotenv from 'dotenv'
    dotenv.config()
    

    Luego, puedes actualizar tu objeto oidcSettings para usar el valor de la configuración de dotenv:

    const oidcSettings = {
      authority: process.env.AUTHORITY,
      clientId: process.env.CLIENT_ID,
      token_endpoint: process.env.TOKEN_ENDPOINT,
      redirectUri: process.env.BASE_URL + '/callback',
      responseType: process.env.RESPONSE_TYPE,
      scope: process.env.SCOPE
    }
    

    Asegúrate de haber instalado el paquete dotenv ejecutando “npm install dotenv” o “yarn add dotenv”.

    Esto debería configurar correctamente la configuración de “authority” en tu objeto oidcSettings y solucionar el error que estás experimentando.

Comments are closed.