Set up sign-in
The editor signs people in through your git platform. That needs a sign-in app (an "OAuth application") registered once on the platform. Here's how, on each.
People sign in to the editor with their account on your git platform, the same way many sites offer "Sign in with GitHub". For that, the platform needs to know about your editor. You tell it by registering an OAuth application, once. It gives you two things to put in the editor's settings:
- a client ID, which isn't secret;
- a client secret, which is. Keep it like a password: it never goes in a file in your site's repository.
The address you'll be asked for
Every platform asks where to send people back after they sign in: the redirect URL (or callback URL). It's your editor's address followed by /auth/callback.
| Where the editor runs | Redirect URL |
|---|---|
| On your own computer, for yourself | http://127.0.0.1:8190/auth/callback |
On a server, at https://edit.example.org |
https://edit.example.org/auth/callback |
It must match exactly, including http or https and the port.
GitHub
- Sign in to GitHub. Choose your picture at the top right, then Settings.
- At the bottom of the left-hand menu, choose Developer settings, then OAuth Apps, then New OAuth App.
- Fill in:
- Application name: something people will recognize when they sign in, like
Bakery website editor. - Homepage URL: your site's address, or the editor's.
- Authorization callback URL: the redirect URL above.
- Application name: something people will recognize when they sign in, like
- Choose Register application.
- Copy the Client ID.
- Choose Generate a new client secret, and copy it straight away. GitHub only shows it once.
The editor asks GitHub for your profile and access to your repositories (read:user repo), so it can open your sites and save changes as you.
For an organization's sites, register the app under the organization instead (the organization's Settings → Developer settings → OAuth Apps), so it doesn't depend on one person's account. The organization may need to approve it under Third-party access.
Gitea, Forgejo and Codeberg
- Sign in, choose your picture at the top right, then Settings.
- Choose Applications.
- Under Manage OAuth2 Applications, fill in:
- Application Name: for example
Bakery website editor. - Redirect URIs: the redirect URL above.
- Leave Confidential Client ticked.
- Application Name: for example
- Choose Create Application.
- Copy the Client ID and Client Secret. The secret is shown only now.
The editor asks for your profile and write access to your repositories (read:user write:repository).
GitLab
- Sign in, choose your picture, then Edit profile (or Preferences).
- In the left-hand menu, choose Applications, then Add new application.
- Fill in:
- Name: for example
Bakery website editor. - Redirect URI: the redirect URL above.
- Leave Confidential ticked.
- Scopes: tick
read_userandapi.
- Name: for example
- Choose Save application, and copy the Application ID (the client ID) and the Secret.
GitLab is partly supported. You can sign in and edit, and building, checks and publishing all work, but the editor can't open or merge GitLab's merge requests for you yet. Review and publish in GitLab itself for now.
Bitbucket
- Open your workspace, then Settings (the gear), then OAuth consumers and Add consumer.
- Fill in Name and Callback URL (the redirect URL above), and tick This is a private consumer.
- Under Permissions, tick Account: Read, Repositories: Write and Pull requests: Write.
- Choose Save, then open the consumer to copy its Key (the client ID) and Secret.
Bitbucket is partly supported, like GitLab: sign-in and editing work, reviews and publishing happen in Bitbucket itself for now.
Next
Keep the client ID and secret to hand, and run the editor.

