Table of contents
How to enable Steam login in WordPress
1. Create a Steam Web API Key
To be able to log in via Steam you must create a Steam Web API Key first.
- To be able to create a Steam Web API key, you need to spend at least $5 in the Steam Store.
- Navigate to https://steamcommunity.com/dev/apikey
- Log in with your Steam credentials if you are not logged in.
- Enter your domain name to the “Domain Name” field.
- Check the “I agree to the Steam Web API Terms of Use” option.
- Press the “Register” button.
- Copy the necessary “Key” value under the “Your Steam Web API Key” section, you will need this on our Settings tab.
2. App setup
Once your Steam Web API Key is ready you’ll need to copy and paste the Key to the Steam provider’s Settings tab.
3. Verifying
Once your Web API Key has been added you need to verify the setup first. This verification helps you identify possible problems.
Settings
Web API Key
The Key of your Steam Web API Key. You can find it at under the “Your Steam Web API Key” section.
Username prefix on Register
Whenever a new user registers with their Steam account they can get a custom prefix so you can easily identify them.
Fallback username prefix on register
Whenever a new user registers with their Steam account and we can not generate a valid username from the first name or last name, a random username will be generated. With this option they can get a custom prefix so you can easily identify them.
Terms and conditions
This option can only be seen, if Terms and conditions is set to Show in Global Settings → Privacy tab. Here you can set custom Terms and Conditions for users who register with Steam. For more information please read our GDPR documentation.
Profile image size
The avatar will be stored with the selected size.
Sync data
By default Nextend Social Login stores the first name, last name and the avatar when it is avalable. However some additional information can also be retrieved and stored.
When an option is checked, that field will be stored in a meta key with the specified name. The fields are stored in the wp_user_meta table.
Sync fields
It determines when the synchronization shall happen.
- Register: whenever a new user registers with a provider, their data will be retrieved and stored.
- Login: whenever user logs in with a provider, their data will be retrieved and stored.
- Link: whenever user links and existing WordPress account with a provider, their data will be retrieved and stored.
Community Visibility State
Stores a number, that represents whether the profile is visible or not.
Has community profile
Stores a number, that indicates whether the user has a community profile configured or not.
Steam Community profile url
Stores the full URL of the person’s Steam Community profile.
Current status
Stores a number, that represents the user’s current status.
Account creation timestamp
Stores a timestamp that represents the time when the user’s account was created.
ISO country code
Stores a 2-character ISO country code, that represents the user’s country of residence. Available only if this data was set on the user’s Steam Community profile.
Learn more about the values in the Official Steam Web API documentation.
Common error messages returned by Steam during verification
Please verify your key= parameter
Error: Unexpected response: Forbidden
Access is denied. Retrying will not help. Please verify your key= parameter.
Limitations
Steam registers accounts without email address
The Steam API can not return email addresses. For this reason we need to register the new accounts with no email address.
If you want to avoid the accounts with no email address, then you should set the Ask E-mail on registration to “When email is not provided or empty”. This way whenever a user registers with Steam, Nextend Social Login will display an input field where the user will need to enter an email address manually before the registration.
The REST API doesn’t return the WordPress user ID
The Steam provider is based on OpenID Authentication 2.0 which doesn’t use access tokens like the OAuth2 Authentication does.
Instead Steam uses a 64-bit SteamID, to identify the users. This number can be easily found on the Steam community profile of a user so it wouldn’t be wise to return the WordPress users ID by this simple identifier. For this reason, we decided on disabling the REST API for the Steam provider completely.