Provider – Steam

Steam Sample

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.

  1. To be able to create a Steam Web API key, you need to spend at least $5 in the Steam Store.
  2. Navigate to https://steamcommunity.com/dev/apikey
  3. Log in with your Steam credentials if you are not logged in.
  4. Enter your domain name to the “Domain Name” field.
  5. Check the “I agree to the Steam Web API Terms of Use” option.
  6. Press the “Register” button.
  7. 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

Steam 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.

Steam Other Settings

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.

Steam Sync data

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.

The problem is that, the value you entered into the Web API key field in Nextend Social Login, is not correct or maybe the Web API Key was revoked. Go to the Steam Web API Key page and make sure you configured Nextend Social Login with the key that appears there.!

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.