> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zylon.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenID y OAuth

> Inicia sesiones SSO y flujos OAuth para Confluence y SharePoint.

<Warning>
  **Próxima versión — Zylon 1.58**

  Esta documentación se publica antes del lanzamiento para que puedas preparar tus integraciones de API. La imagen de la versión todavía no está disponible. Para instalaciones con 1.57, consulta la [documentación de 1.57](/es/v1.57/overview).
</Warning>

Usa estos endpoints para iniciar flujos OpenID/OAuth. Los endpoints de inicio de sesión están pensados para el navegador y devuelven redirecciones; los callbacks reciben la respuesta del proveedor.

> Las integraciones deben estar habilitadas antes de usar OAuth. Consulta las guías del operador para [Confluence](/es/v1.58/operator-manual/knowledge-base/confluence) y [SharePoint](/es/v1.58/operator-manual/knowledge-base/sharepoint).

## Solicitud básica y respuesta

Inicia un flujo de inicio de sesión llamando al endpoint del proveedor y siguiendo la redirección.

### Redirecciones SSO de usuario

<Tabs>
  <Tab title="Inicio de sesión Google">
    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/auth/google/login"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://accounts.google.com/o/oauth2/v2/auth?client_id=...&redirect_uri=...
      ```
    </Accordion>
  </Tab>

  <Tab title="Inicio de sesión Microsoft">
    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/auth/microsoft/login"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=...&redirect_uri=...
      ```
    </Accordion>
  </Tab>
</Tabs>

### Redirecciones OAuth de integraciones

Usa `project_id` para crear una integración de proyecto u omítelo para crear una integración de organización con rol `AppAdmin` o superior. El parámetro opcional `connector_name` establece su nombre visible.

<Accordion title="Parametros del endpoint">
  | Tipo | Nombre | Obligatorio | Notas |
  | - | - | - | - |
  | Query | `project_id` | No | Proyecto propietario de la integración. Omítelo para una integración de organización. |
  | Query | `connector_name` | No | Nombre visible del nuevo artefacto de integración. |
</Accordion>

<Tabs>
  <Tab title="Inicio de sesión Confluence">
    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/app/artifact/integration/confluence/login?project_id={projectID}&connector_name=Confluence" \
      -H "Authorization: Bearer {API_TOKEN}" \
      -H "x-org: {org_slug}"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://auth.atlassian.com/authorize?client_id=...&redirect_uri=...
      ```
    </Accordion>
  </Tab>

  <Tab title="Inicio de sesión SharePoint">
    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/app/artifact/integration/sharepoint/login?project_id={projectID}&connector_name=SharePoint" \
      -H "Authorization: Bearer {API_TOKEN}" \
      -H "x-org: {org_slug}"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=...&redirect_uri=...
      ```
    </Accordion>
  </Tab>
</Tabs>

### Inicio de sesión con una instancia específica

Envía `integration_artifact_id` para sustituir las credenciales OAuth de un artefacto de integración existente. Incluye `project_id` cuando la integración pertenece a un proyecto.

<Accordion title="Parametros del endpoint">
  | Tipo | Nombre | Obligatorio | Notas |
  | - | - | - | - |
  | Query | `integration_artifact_id` | Si | Artefacto de integración existente cuyas credenciales OAuth se sustituirán. |
  | Query | `project_id` | Condicional | Proyecto propietario de la integración. Inclúyelo para una integración de proyecto. |
</Accordion>

<Tabs>
  <Tab title="Instancia Confluence">
    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/app/artifact/integration/confluence/login?project_id={projectID}&integration_artifact_id={integrationArtifactID}" \
      -H "Authorization: Bearer {API_TOKEN}" \
      -H "x-org: {org_slug}"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://auth.atlassian.com/authorize?client_id=...&state=conf_8a7b6c5d4e3f2a1b
      ```
    </Accordion>
  </Tab>

  <Tab title="Instancia SharePoint">
    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/app/artifact/integration/sharepoint/login?project_id={projectID}&integration_artifact_id={integrationArtifactID}" \
      -H "Authorization: Bearer {API_TOKEN}" \
      -H "x-org: {org_slug}"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=...&state=sp_1c2d3e4f5a6b7c8d
      ```
    </Accordion>
  </Tab>
</Tabs>

### Renovación del token de la integración

<Accordion title="Parametros del endpoint">
  | Tipo | Nombre | Obligatorio | Notas |
  | - | - | - | - |
  | Path | `integrationArtifactID` | Si | Artefacto de integración cuyo token se renovará. |
</Accordion>

<Tabs>
  <Tab title="Renovar token Confluence">
    ```bash theme={null}
    curl -X POST "https://{BASE_URL}/api/v1/app/artifact/{integrationArtifactID}/integration/confluence/refresh_token" \
      -H "Authorization: Bearer {API_TOKEN}" \
      -H "x-org: {org_slug}"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```json theme={null}
      "ok"
      ```
    </Accordion>
  </Tab>

  <Tab title="Renovar token SharePoint">
    ```bash theme={null}
    curl -X POST "https://{BASE_URL}/api/v1/app/artifact/{integrationArtifactID}/integration/sharepoint/refresh_token" \
      -H "Authorization: Bearer {API_TOKEN}" \
      -H "x-org: {org_slug}"
    ```

    <Accordion title="Ejemplo de respuesta">
      ```json theme={null}
      "ok"
      ```
    </Accordion>
  </Tab>
</Tabs>

### Callbacks

<Tabs>
  <Tab title="Microsoft callback">
    <Accordion title="Parametros del endpoint">
      | Tipo | Nombre | Obligatorio | Notas |
      | - | - | - | - |
      | Query | `code` | Si | Código de autorización OAuth. |
      | Query | `state` | Si | Valor OAuth `state` devuelto por el proveedor. |
    </Accordion>

    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/auth/microsoft/callback?code=...&state=..."
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://{BASE_URL}/app/login/success
      ```
    </Accordion>
  </Tab>

  <Tab title="Confluence callback">
    <Accordion title="Parametros del endpoint">
      | Tipo | Nombre | Obligatorio | Notas |
      | - | - | - | - |
      | Query | `code` | Si | Código de autorización OAuth. |
      | Query | `state` | Si | Valor OAuth `state` devuelto por el proveedor. |
    </Accordion>

    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/app/artifact/integration/confluence/callback?code=...&state=..."
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://{BASE_URL}/app/integrations/confluence
      ```
    </Accordion>
  </Tab>

  <Tab title="SharePoint callback">
    <Accordion title="Parametros del endpoint">
      | Tipo | Nombre | Obligatorio | Notas |
      | - | - | - | - |
      | Query | `code` | Si | Código de autorización OAuth. |
      | Query | `state` | Si | Valor OAuth `state` devuelto por el proveedor. |
    </Accordion>

    ```bash theme={null}
    curl -i "https://{BASE_URL}/api/v1/app/artifact/integration/sharepoint/callback?code=...&state=..."
    ```

    <Accordion title="Ejemplo de respuesta">
      ```text theme={null}
      HTTP/1.1 302 Found
      Location: https://{BASE_URL}/app/integrations/sharepoint
      ```
    </Accordion>
  </Tab>
</Tabs>

## Errores y casos límite

* **302**: esperado en inicio de sesión y callback.
* **401/403**: token ausente para la renovación.
* **404**: no se encontró el artefacto de integración o el proyecto.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.