Quiero agregar OAuth a mi aplicación de reacción usando un proveedor de autenticación de OAuth personalizado. Intenté usar react-oidc-context y oidc-react , pero con ambas bibliotecas, la política CORS me bloquea. No puedo entender cómo agrego el encabezado Access-Control-Allow-Origin ya que las bibliotecas solicitan el openid-configuration de openid del proveedor de autenticación debajo del capó. Puedo pasar metadata o UserManager a AuthProvider , que, como dicen los documentos , "Provide metadata when authority server does not allow CORS on the metadata endpoint" , pero no puedo averiguar cómo usarlos/qué valor pasar ya que hay ningún ejemplo
¿Hay alguna forma de agregar el encabezado CORS u otra forma de realizar la llamada OIDC?
CORS es algo que debe configurarse en el Servidor de autorización (AS) cuando su cliente React está registrado. Casi todos los AS son compatibles con CORS en estos días. No puede hacer que funcione desde el código React.
AJUSTES DE LA BIBLIOTECA
Mi ejemplo de código muestra una configuración de SPA, y una alternativa a la descarga de metadatos es proporcionar un objeto JSON de metadata con ubicaciones de punto final :
authorize_endpoint end_session_endpoint token_endpoint jwks_endpointSin embargo, cuando la biblioteca llama a los dos últimos puntos finales, aún necesitará realizar solicitudes de origen cruzado.
PROXY DE PARTE POSTERIOR
Si el AS definitivamente no es compatible con CORS, entonces una opción es realizar llamadas de doble salto a los dos últimos puntos finales a través de su propio componente de back-end. Sin embargo, esto no debería ser necesario con ningún AS actualizado.