Requires at least: 5.0
Tested up to: 5.8.3
Stable tag: 1.0.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
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.
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.
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.
- Visit
Plugins > Add New
. - Search for
Simple Discord SSO
. Find and InstallSimple Discord SSO
. - Activate the plugin from your Plugins page.
- Download Simple Discord SSO.
- Unzip and upload the
simple-discord-sso
directory to your/wp-content/plugins/
directory. - 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:
- Sign-in to discord and create an app on the Dashboard.
- Name your app something obvious ( WordPress SignOn for example )
- Fill out the initial information for legal reasons, it's suggested ( but not required ) you have a Terms of Service page and a Privacy Policy if you are using this plugin.
- Click OAuth2 on the left sidebar.
- Click General under OAuth2.
- You must add a redirect back to your site. So click Add Redirect and enter your site's full URL to the WordPress install.
- Copy the Client ID and the Client Secret
- Now log into your WordPress installation and navigate to WP Admin > Discord SSO
- Add the Client ID and Client Secret to your settings. Click Save/Update.
- Your site is now allows Discord users to sign in.
There's a filter for that. It's simple_discord_sso/default_role
which defaults to subscriber
and also receives the user resource array from the Discord API.
There's a filter for that. It's simple_discord_sso/login_redirect
which defaults to home_url()
and also receives the WP_User
object.
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 /?discord=1
.
- Small versioning update for plugin submission.
- Automatically update permalinks if required on init.
- Small updates to readme
- Initial release.