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

# Connect Bluesky, Mastodon and DEV.to

> Three networks that do not use an OAuth redirect — you enter a credential or a server name in Nylon instead.

Most networks send you off to their own permission screen. These three do not, for reasons particular to each. Selecting them in the connection panel opens a small form in Nylon rather than a redirect.

## Bluesky

Bluesky authenticates with a **handle and an app password**, not OAuth.

<Steps>
  <Step title="Create an app password in Bluesky">
    In Bluesky, go to **Settings → Privacy and security → App passwords** and create one. It looks like `xxxx-xxxx-xxxx-xxxx`.
  </Step>

  <Step title="Enter it in Nylon">
    Select **Bluesky** in the connection panel, enter your handle (`yourname.bsky.social`) and the app password, and select **Connect**.
  </Step>
</Steps>

<Warning>
  Use an app password, not your account password. An app password can be revoked on its own, from the same Bluesky settings page, without changing anything else about your account.
</Warning>

Nylon exchanges the app password for a session immediately and never stores the password itself.

## Mastodon

Mastodon is thousands of independent servers, so there is no single place to send you. Nylon asks which server hosts the account, registers an application with that server on the fly, and then runs a normal OAuth flow against it.

<Steps>
  <Step title="Enter the server">
    Select **Mastodon** in the connection panel and type the server's domain — `mastodon.social`, `mas.to`, and a few other common ones are offered as one-click chips.
  </Step>

  <Step title="Authorize on that server">
    You are sent to that server's own authorization screen. Approve it, and you come back connected.
  </Step>
</Steps>

<Note>
  Mastodon's character and attachment limits are read from your own server at publish time, so a stricter or more generous server is respected rather than overridden by a default.
</Note>

## DEV.to

DEV has no OAuth for publishing, so it takes a **personal API key**.

<Steps>
  <Step title="Generate a key on DEV">
    Go to **Settings → Extensions → DEV Community API Keys** on dev.to and generate one.
  </Step>

  <Step title="Paste it into Nylon">
    Select **DEV.to** in the connection panel, paste the key, and select **Connect**.
  </Step>
</Steps>

Nylon checks the key against your DEV account before storing it, encrypted. The key authorizes publishing articles as you, and can be revoked from the same DEV settings page.

<Note>
  DEV.to is the one connection you revoke on the network's side by **deleting the key**. Disconnecting in Nylon destroys Nylon's copy; deleting the key on DEV is what makes it useless everywhere.
</Note>

## Why these three matter for your integration

If your users connect their own accounts through a Nylon connection URL, these three cannot be a straight redirect to a provider — the API tells you so. A connection URL carries a `flow` of `oauth_redirect` or `nylon_ui`, and these three are always `nylon_ui`.

<Card title="Connecting an account from your own app" icon="square-terminal" href="/connections">
  The connection URL endpoint, and what `flow` means for your UI.
</Card>

## Related

<Columns cols={2}>
  <Card title="Supported networks" icon="globe" href="/help/supported-networks">
    What each network can and cannot do.
  </Card>

  <Card title="Disconnect an account" icon="unplug" href="/help/disconnect-an-account">
    What is destroyed, and what to revoke at the network.
  </Card>
</Columns>
