# External sign-in

Sign in and link the account with Google, GitHub or 42, with clear rules to merge or move accounts.

Source: https://ardumaker.com/en/docs/autenticacion-externa/

- Category: Community and extra services
- Status: Available
- Requirements: A Google, GitHub or 42 account
- MCP tools: No MCP tools: it is used from the dashboard.

## What can you do with it?

- Create an ArduMaker account or sign in with Google, GitHub or 42.
- Link one account from each provider to the profile from the account settings.
- Unlink a linked account.

## When should you use it?

To avoid another password, to show GitHub or 42 on the [public profile](https://ardumaker.com/en/docs/perfiles-publicos), or to access the plans of a 42 [school](https://ardumaker.com/en/docs/escuelas).

## How does it work in ArduMaker?

When the provider returns the authorised account, ArduMaker decides which profile it belongs to, in this order:

1. The profile with the open session in the browser: it is linking from its account.
2. The profile that already has that provider account: it is signing in.
3. The profile with the same email: it is the same person registered another way.
4. None: a new account is created with a random password the person does not use.

| Link result | What happened |
| --- | --- |
| `creada` | Linked for the first time. |
| `actualizada` | It already belonged to this profile; its data was refreshed. |
| `movida` | It was on another profile and moved to this one. |
| `reemplazada` | This profile had another account from the same provider; the new one stays. |

After returning from the provider, the front end turns the short session into a normal session and applies «remember me» if chosen.

## What actually changes?

- The provider integration on the profile is created or updated.
- If the 42 account moves to another profile, the 42 school membership moves with it.
- A new [session](https://ardumaker.com/en/docs/sesiones-y-dispositivos) opens for that device.

## Diagram

**Sign-in with a provider**

```text
ArduMaker (requests the provider URL)
  ↓
Google, GitHub or 42 (the person authorises)
  ↓
ArduMaker callback (decides the profile)
  ↓
Session (ready in the browser)
```

## Expected result

The person signs in with their provider and sees in their settings which accounts are linked.

## Errors and troubleshooting

| Code | Cause |
| --- | --- |
| 409 `ultima_integracion` | It is the last linked account and confirmation is missing. Without it, an account created through a provider may be left with no way to sign in. |
| 404 `no_vinculada` | That account is not linked to the profile. |
| 400 `proveedor_desconocido` | The provider is not `github`, `google` or `42`. |

> **PRECAUCION:** Unlinking 42 removes the 42 school membership: existing VPS stay, but new ones cannot be requested with the 42 plan.

## MCP access

There are no MCP tools to sign in or link accounts. See [/mcp/docs](https://ardumaker.com/en/mcp/docs).

## Related features

- [Sessions and devices](https://ardumaker.com/en/docs/sesiones-y-dispositivos/)
- [Public profiles](https://ardumaker.com/en/docs/perfiles-publicos/)
- [Schools](https://ardumaker.com/en/docs/escuelas/)
- [GitHub deploy](https://ardumaker.com/en/docs/github-deploy/)
