Connecting GitHub Login

To let users of your service sign up with a GitHub account, you first register your service with GitHub and receive a Client ID and a Client secret.

This page covers the order in which you receive the Client ID and the Client secret. Putting the two values you received into WEEGLOO is covered in Putting the Client ID and Client secret into WEEGLOO.

Getting the Client ID and Client secret from GitHub

Sign in to GitHub, then work through the two steps below in order. What you do here costs nothing.

1

Registering an OAuth App

The Client ID and the Client secret are held in this one app you register here.

  1. Open the developer settings screen (https://github.com/settings/developers (opens in a new tab)).

  2. In the left menu, click OAuth Apps.

  3. Click New OAuth app.

    The OAuth Apps screen. The left menu holds GitHub Apps, OAuth Apps, and Personal access tokens, the list is empty, and the New OAuth app button is visible

  4. In Application name, enter the name users will see (for example, Cozy Closet).

  5. In Homepage URL, enter your site's address (for example, https://cozy-closet.com).

    If you have not built your site yet, write down the address you plan to use. You can change it later. Application description, which is on the same form, is optional, and what you write is shown to users exactly as written, so write a sentence users will read.

  6. In the Redirect URI box, paste the address below. Pick your Space and the identifier is filled in.

    Space
    https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/github

    If you are not sure which Space is yours and you have handed the integration to an AI agent, you can also ask the agent. Ask in the chat, "Tell me the redirect address to register with GitHub Login", and you receive the finished address.

  7. Click Register application.

    The Register a new OAuth app form. Application name holds "Cozy Closet", Homepage URL holds the site address, and Redirect URI holds the WEEGLOO address

2

Copying the Client ID and the Client secret

When you click Register application, the settings screen of the app you just registered opens. The Client ID is already shown here, and you create the Client secret now by clicking a button.

  1. Copy the value written in Client ID.

  2. Click Generate a new client secret to the right of the Client secrets heading.

    The app settings screen right after registration. The Client ID value is visible, and the Generate a new client secret button is to the right of the Client secrets heading

  3. Click the copy icon to the right of the value that was created to copy the secret.

    Once you leave this screen you cannot view the secret again

    Client ID stays on this screen, so you can see it again whenever you want. The secret does not. If you lose the secret, create a new one with Generate a new client secret, and put the new value into WEEGLOO again. The secret is a secret, exactly as the name says. Do not tell it to anyone, and do not write it down anywhere public.

    The screen right after the secret is created. The blue notice, the Client secret value, and the copy icon are visible

Login works only when the email is public

GitHub login carries one condition. The GitHub account logging in has to be making its email public.

When a user logs in with GitHub, WEEGLOO receives that account's public email along with it and puts it on the member. In the same Space, one email can sign up only once. An account that has not chosen a public email does not hand this value over, and sign-up stops right there.

When it stops, the user sees a notice screen that WEEGLOO shows. It says in the user's own language that the email could not be retrieved and what to do about it, and it carries a button that goes back to your site.

The WEEGLOO notice screen saying the email could not be retrieved. It explains the reason and carries a Back to start button

The login result never reaches your site in this case. So your site's code can neither notice this situation nor handle it on the user's behalf.

The user has to resolve this problem themselves. When the user opens Public profile in their GitHub account settings (https://github.com/settings/profile (opens in a new tab)), there is a Public email item. Choosing an email to display there lets every login from then on through. An account that has not chosen one yet shows only Select a verified email to display.

The GitHub profile settings screen. Public profile is selected in the left menu, and the dropdown under Public email shows Select a verified email to display

What you can do on your site is write this condition where users log in with GitHub, so they learn about it before they get stuck.

Putting the Client ID and Client secret into WEEGLOO

Now you have the Client ID and the Client secret in hand. From here the path splits depending on how you have been working so far.

If you were configuring this directly in the content studio, follow these steps.

  1. Go back to turning on social login in Service Member Login.
  2. Turn on GitHub.
  3. Enter the Client ID in the Client ID box in Step 2.
  4. Enter the Client secret in the Client Secret box.
  5. Click Save.

If you handed the integration to an AI agent and were told to go and get the Client ID and the Client secret, paste the two values you received into the chat as they are and carry on with what you were doing. The agent handles the rest of the configuration from there.

What to do next

  • Service Member Login: put the values you received into the content studio and finish the rest of the member login configuration.
  • Member Roles and Permissions: create the ServiceUserRole that decides what a signed-up member can see and use.
  • Auth API: covers technical specifications such as the request format you need when wiring login into your own site's code.