GitHub
Members sign in with their GitHub account, in the system browser.
Before you start
Section titled “Before you start”| Console | GitHub Developer settings |
| Endpoint group | Social Login |
| Returned, and verified — GitHub can match an existing account | |
| Signs in | In the browser |
Create the OAuth app
Section titled “Create the OAuth app”-
Open Settings → Developer settings → OAuth Apps → New OAuth App.
Register it under your personal account or an organization. An organization makes it survive one person leaving.
-
Set the Application name to what members should see when authorising.
-
Set the Homepage URL to your site.
-
Set the Authorization callback URL to the address from Memberside → API Keys → Social Login → GitHub, which looks like
https://yoursite.com/wp-json/memberside/v1/social/callback/github. -
Copy the Client ID, then Generate a new client secret and copy that. GitHub shows the secret once.
Members with a private email
Section titled “Members with a private email”GitHub lets members hide their address. When they have, GitHub returns their
noreply address — something like [email protected] —
rather than nothing at all.
That address is real and deliverable to them through GitHub, but it will not match an account registered under their ordinary address. For a developer community this is usually acceptable; if it is not, tell members to make an address public before signing in.
What to paste into Memberside
Section titled “What to paste into Memberside”Under Memberside → API Keys → Social Login → GitHub:
| Field | Value |
|---|---|
| Client ID | The Client ID |
| Client secret | The generated client secret |
When it does not work
Section titled “When it does not work”| Symptom | Cause | Fix |
|---|---|---|
| “The redirect_uri MUST match” | The callback URL differs by a character | Copy it again from the API Keys screen |
A noreply address arrives | The member keeps their address private | Expected. They can make one public |
| The secret does not work | It was only partly copied | Generate a new one |
| Members of an organization are refused | The org restricts OAuth app access | An owner approves the app under the org’s settings |