Skip to content

GitHub Sign-in

GitHub Sign-in offers one-click GitHub login for developers and technical visitors - fewer passwords, optional automatic new accounts, and shortcode support for custom layouts.

Requires an active WP PowerSuite license.

  • Uses GitHub OAuth once Client ID and Client Secret are saved.
  • Shows a GitHub button on the login screen (and optionally WooCommerce).
  • Supports shortcodes [github_sign_in] and [social_login providers="github"].
  • Callback URL uses ?wpps_auth=github on your site home (register this URI in the GitHub OAuth App). A legacy admin-ajax.php callback is still supported if listed in your app.
  • Optional auto-register (requires a verified GitHub email), default role, store GitHub avatar URL, allow GitHub sign-up during OAuth, redirect after login, and button style/display.
  • Warns when the site is not on HTTPS.

Until Client ID and Client Secret are both set, the module does not boot the sign-in UI or callback handling.

  • Your audience already has GitHub accounts (docs, SaaS, developer communities).
  • You’re combining providers with [social_login].
  • You want optional auto-provisioned WP users from verified GitHub emails.

Open the module’s advanced settings (gear icon):

Setting Key Notes
Client ID client_id Required. From GitHub OAuth Apps.
Client Secret client_secret Required.
Allow GitHub Sign-up allow_signup Show create-account option in GitHub’s OAuth UI (default on).
Button style button_style default (Filled), outline, or minimal.
Label & icon button_display label or icon.
Inline row button_label_inline Optional layout for text + icon.
Auto-register New Users auto_register Create a WP user on first GitHub sign-in (verified email required).
Bypass “Anyone can register” bypass_registration_setting Allow registration even when WP registration is off.
Default role default_role subscriber (default), contributor, author, or editor.
Store GitHub Avatar store_avatar_url Store GitHub profile image meta.
Redirect after login redirect_after_login Optional destination; blank = homepage.
WooCommerce woo_login Show on WooCommerce login forms when WooCommerce is active.

Copy the Authorization callback URL from settings into GitHub -> Settings -> Developer settings -> OAuth Apps. Public callback form: https://your-site.com/?wpps_auth=github.

  • [github_sign_in] - GitHub-only button.
  • [github_sign_in style="outline"] - style override.
  • [social_login providers="github"] - unified social shortcode.
  1. Create an OAuth App at GitHub Developer settings.
  2. Set Homepage URL and paste the Authorization callback URL from module settings.
  3. In WordPress: WP PowerSuite -> Modules -> GitHub Sign-in - turn on (license required).
  4. Paste Client ID and Client Secret, save, then tune registration / button options.
  1. Log out and open wp-login.php (or a page with [github_sign_in]).
  2. Click Sign in with GitHub and authorize the app. ✅ Existing linked user: signed in.
  3. ✅ New user with auto-register on + verified email: account created.
  4. ❌ Error / no button: confirm credentials, callback URI, HTTPS, and license.
  5. If Store GitHub Avatar is on, confirm the photo appears (unless a Local User Avatar upload exists - local wins).
  • No GitHub button. Client ID/secret missing or license inactive.
  • redirect_uri mismatch. Callback in GitHub must exactly match settings (?wpps_auth=github).
  • New users not created. Enable Auto-register; ensure the GitHub account has a verified email.
  • Wrong landing page. Set Redirect after login, or use Redirect After Login.
What GitHub credentials do I need?

An OAuth App Client ID and Client Secret, plus the Authorization callback URL from module settings. HTTPS is strongly recommended.

What shortcodes are available?

Use [github_sign_in] for GitHub alone, or [social_login providers="github"] for the unified social login shortcode.

Why must GitHub emails be verified for new accounts?

Auto-registration only accepts a verified GitHub email so new WordPress users are not created from unverified addresses.

What is the OAuth callback URL?

https://your-site.com/?wpps_auth=github - copy the exact URL from module settings into your GitHub OAuth App.

Developer notes (hooks & filters)

Source: modules/github-sign-in/module.php, Provider.php, Config.php, admin.php. Boot: critical. Uses SocialSignInModuleTrait. License required.

  • Callback query param: wpps_auth=github (UrlHelper::AUTH_QUERY_PARAM - not wpps_oauth).
  • Public callback: home_url('/?wpps_auth=github').
  • Legacy AJAX: admin-ajax.php?action=wpps_github_signin_callback.
  • User meta: wpps_github_id.
  • Error query arg: wpps_github_error.
  • New registrations require email_verified from GitHub’s emails API.
  • Shortcodes: legacy github_sign_in; unified social_login.
  • Does not register social hooks until both client_id and client_secret are non-empty.
  • HTTPS notice via SettingsUiHelper::renderHttpsNotice().