This plugin allows discord users ( verified or not ) to login to your WordPress website as a subscriber. With a slew of available
hooks developers are able to both listen to, and customize, various events during the login process. Complete with a customizable login button,
or you can code your own and unhook this one.
Important Caching Information
This plugin uses a custom rewrite rule for the login button. You may want to ensure the
/discord-login path in your WordPress
installation is not cached.
Saved User Data
When logging in, if the user does not have an account one is created for them automatically using their Username and Discriminator
field. The default scope is
identify email which allows your site to store their discord information to your database for
other discord-related usage.
The following fields are saved to the
simple_discord_sso user meta key for all discord users:
* id: the user’s id
* avatar: the user’s avatar hash
* discriminator: the user’s 4-digit discord-tag
* public_flags: the public flags on a user’s account
* flags: the flags on a user’s account
* banner: the user’s banner hash
* accent_color: the user’s banner color encoded as an integer representation of hexadecimal color code
* locale: the user’s chosen language option
* mfa_enabled: whether the user has two factor enabled on their account
* premium_type: the type of Nitro subscription on a user’s account
* verified: whether the email on this account has been verified
* hash: Just an MD5 hash which is used to determine if these fields should be updated on every login.
Various actions and filters are available, should you want to expand on these fields ( if new fields are added ) just look over
the Discord User Resource for more fields.
Various actions and filters are available from changing the redirect URL after login, changing the scope of the discord request,
or even halting the login ( and maybe redirecting after ) depending on the user’s discord information. Or, even if you want, you can
listen for the login and hook into right before the redirect. The goal with the slew of actions and filters is to allow developers
to customize the plugin how they see fit.
Think we need more? Awesome, open a ticket on the GitHub Repository – the plugin is actively maintained so I’d be happy to help out.
From your WordPress dashboard
Plugins > Add New.
- Search for
Simple Discord SSO. Find and Install
Simple Discord SSO.
- Activate the plugin from your Plugins page.
- Download Simple Discord SSO.
- Unzip and upload the
simple-discord-ssodirectory to your
- Activate Simple Discord SSO from your Plugins page.
You will now need to create an App on discord. To do that follow the below instructions:
1. Sign-in to discord and create an app on the Dashboard.
2. Name your app something obvious ( WordPress SignOn for example )
4. Click OAuth2 on the left sidebar.
5. Click General under OAuth2.
6. You must add a redirect back to your site. So click Add Redirect and enter your site’s full URL to the WordPress install.
7. Copy the Client ID and the Client Secret
8. Now log into your WordPress installation and navigate to WP Admin > Discord SSO
9. Add the Client ID and Client Secret to your settings. Click Save/Update.
10. Your site is now allows Discord users to sign in.
How can I change user roles from subscriber when they sign in
There’s a filter for that. It’s
simple_discord_sso/default_rolewhich defaults to
subscriberand also receives the user resource array from the Discord API.
How can I change the URL they’re redirected to?
There’s a filter for that. It’s
simple_discord_sso/login_redirectwhich defaults to
home_url()and also receives the
How do I allow users to login without using wp-login.php?
To use the login, you only need to redirect the user to
/discord-login– this is a custom rewrite to fire off the sign-on
process. Alternatively you can use the query parameter instead
Contributors and Developers
“Simple Discord SSO ( Single Sign-On )” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Small versioning update for plugin submission.
- Automatically update permalinks if required on init.
- Small updates to readme
- Initial release.