Sluby
REST APIAuth

The provider's redirect back after sign-in.

Browser-facing: every outcome is a redirect into the Studio. Accepted only from the browser that started the sign-in: the `state` must match the `sluby_signin` cookie set by the login route, within ten minutes. The account is the provider's stable id (GitHub: the numeric account id), never the login. A failure redirects to the page the sign-in started from (or `/studio` once the handshake is lost) with `signin_error=<code>` added: `expired_handshake` (expired, or started in another browser), `not_a_member` (with `&handle=<login>`, nobody added this account; people join through invites), `disabled` (with `&handle`, an admin removed the member), `already_linked` (with `&handle`, joining or linking with an account another member already signs in with), `not_signed_in` (a link finished without the session it began in), `invite_not_found`, `invite_used`, `invite_expired`, `invite_revoked` (with `&handle`, joining with an invite that does not work), `cancelled` (the person declined at the provider), `provider_failed` (the provider refused the code or could not be reached) or `not_configured`. A join signs the new member in; a link keeps the current session.

GET
/api/v1/auth/{provider}/callback

Browser-facing: every outcome is a redirect into the Studio. Accepted only from the browser that started the sign-in: the state must match the sluby_signin cookie set by the login route, within ten minutes. The account is the provider's stable id (GitHub: the numeric account id), never the login. A failure redirects to the page the sign-in started from (or /studio once the handshake is lost) with signin_error=<code> added: expired_handshake (expired, or started in another browser), not_a_member (with &handle=<login>, nobody added this account; people join through invites), disabled (with &handle, an admin removed the member), already_linked (with &handle, joining or linking with an account another member already signs in with), not_signed_in (a link finished without the session it began in), invite_not_found, invite_used, invite_expired, invite_revoked (with &handle, joining with an invite that does not work), cancelled (the person declined at the provider), provider_failed (the provider refused the code or could not be reached) or not_configured. A join signs the new member in; a link keeps the current session.

Path Parameters

provider*"github"

The sign-in provider.

Value in"github"

Response Body

Signed in (redirect to next with a session cookie), or failed (redirect to next, or /studio, with signin_error=<code>).

Example Request
curl -X GET 'https://sluby.example.com/api/v1/auth/github/callback'
Example Response
Empty