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

# Social con el token de acceso del proveedor

> Endpoint obsoleto para autenticar usuarios con el token de acceso de un proveedor social; usa el Login social basado en navegador en su lugar.

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## Endpoint
</div>

`POST /oauth/access_token`

<Note>
  Este endpoint forma parte del flujo de autenticación legado. Recomendamos abrir el navegador para realizar la autenticación social en su lugar, tal como [Google y Facebook recomiendan](https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html). Para obtener más información sobre el flujo de autenticación más reciente, consulta [Introducing OIDC Conformant Authentication](/es/api-auth/intro).

  Esta funcionalidad está deshabilitada de forma predeterminada para los nuevos inquilinos desde el 8 de junio de 2017. Consulta [Application Grant Types](/es/applications/concepts/application-grant-types) para obtener más información.
</Note>

Dado el token de acceso del proveedor social y la `connection`, este endpoint autenticará al usuario con el proveedor y devolverá un JSON con el token de acceso y, opcionalmente, un ID Token. Este endpoint solo funciona con Facebook, Google, Twitter y Weibo.

<div id="remarks">
  ### Observaciones
</div>

* El valor `profile` de `scope` solicita acceso a los claims predeterminados del perfil del usuario final, que son: `name`, `family_name`, `given_name`, `middle_name`, `nickname`, `preferred_username`, `profile`, `picture`, `website`, `gender`, `birthdate`, `zoneinfo`, `locale` y `updated_at`.

* El valor `email` de `scope` solicita acceso a los claims `email` y `email_verified`.

<div id="learn-more">
  ### Más información
</div>

* [Llamar a la API de un proveedor de identidad](https://auth0.com/docs/authenticate/identity-providers/calling-an-external-idp-api)
* [Tokens de acceso del proveedor de identidad](https://auth0.com/docs/secure/tokens/access-tokens/identity-provider-access-tokens)
* [Agregar scopes/permisos para llamar a las API del proveedor de identidad](https://auth0.com/docs/authenticate/identity-providers/adding-scopes-for-an-external-idp)

<div id="body-parameters">
  ## Parámetros del cuerpo
</div>

<ParamField body="client_id" type="string" required>
  El `client_id` de tu aplicación.
</ParamField>

<ParamField body="access_token" type="string" required>
  El token de acceso del proveedor social.
</ParamField>

<ParamField body="connection" type="string" required>
  El nombre de un proveedor de identidad configurado para tu aplicación.
</ParamField>

<ParamField body="scope" type="string">
  Usa `openid` para obtener un ID Token, o `openid profile email` para incluir información del usuario.
</ParamField>

<div id="response-schema">
  ## Esquema de respuesta
</div>

<ResponseSchema statusCode="200">
  <ResponseField name="id_token" type="string">
    El token de ID.
  </ResponseField>

  <ResponseField name="access_token" type="string">
    El token de acceso.
  </ResponseField>

  <ResponseField name="token_type" type="string">
    El tipo de token. Por lo general, `Bearer`.
  </ResponseField>
</ResponseSchema>

<ResponseSchema statusCode="400 / 401 / 403">
  <ResponseField name="error" type="string">
    Código de error.
  </ResponseField>

  <ResponseField name="error_description" type="string">
    Descripción del error.
  </ResponseField>
</ResponseSchema>

<div id="response-messages">
  ## Mensajes de respuesta
</div>

| Estado  | Descripción                        |
| ------- | ---------------------------------- |
| 200     | Respuesta de autenticación exitosa |
| 400     | Solicitud incorrecta               |
| 401     | No autorizado                      |
| 403     | Prohibido                          |
| default | Error inesperado                   |
