Steam Login / Authentication Plugin

Hello @def

I think your plugin broke with the discourse 5 patch regarding Font Awesome 5.
The page is broken with the error

Undefined variable: “$fa-var-steam”.\A on line 7 of plugins/discourse-steam-login/auto_generated/plugin_80b807a32d0970c9f414b0eec9dd64acc9fd9c4c.css\A >> content: $fa-var-steam;\A -------------^\A ’

EDIT: After I commented it out in the app.yml and rebuild, the forum worked again.

2 Likes

I’ve updated the plugin to fix the FA5 issue (commit).

8 Likes

Hi. Thank you guys for working on this!
Is it possible to change the button text somehow? I’d like to replace ‘with’ with the Portuguese translation to keep consistent with my other social logins.
I couldn’t find a way to override the string in the admin dashboard.

If you’re referring to this text, it won’t be found in Admin

A quick but dirty approach would be to fork the plugin and edit the text in the plugin.rb file. Forking can generally be a bad idea because it essentially becomes your own plugin to maintain, but until / unless the plugin becomes internationalized it should “work”.

3 Likes

Yes, I meant that text! I think if I’m about to work on it, it might as well be helpful to others. Would it be hard to provide i18n support for this plugin?

Better even: do a PR that internationalyze the plugin :wink:

1 Like

I’ve just released a new version of this plugin that makes it more compatible with the current Discourse code base. The steam web api key is configured via site settings and all text are translatable now.

12 Likes

Are there any new features with this change other than changing the token?

What are the features you have in mind?

1 Like

Hi. I used the previous installation method to work normally, but now I will use the new method and the account verification will fail. I need your help.

Thank you very much!

Translation: Sorry, an error occurred while verifying your account. Maybe you have not approved the authorization application?

The error message in the URL (connection_failed) imply that either browser or server can’t connect to the Steam service.

Since you appear to be in China, do Steam work normally there? Or they use a different domain, like most services?

1 Like

Ok, maybe I should continue to check the availability of the server connection Steam. Thank you for your help! :sweat_smile:

1 Like
  • Be able to associate and disassociate a steam account to a user.
  • Show steam profile in user profile.
2 Likes

Following on what @Morell said, is there any way to be able to link the steam account to another account? I’d love the exact scenario where you can sign in to the same account via Discord or Steam.

That should already be possible. Steam should appear alongside other login providers in your account preferences. Are you seeing something different?

Ah I was unaware of that feature. Correct in the account preferences, you can link your steam account there.

My confusion lied here: I disabled local accounts, and logged in via Discord. As Discord shares the email address, everything worked smoothly. I logged out, and logged in via Steam. I was prompted only to sign up.

There was no UI that said something akin to “link (this steam account) to an existing account”. I believe adding that feature in would increase the visibility and accessibility of using Steam to log in.

1 Like

So you’re suggesting:

  • If the user signs up via a ‘social login’ method (e.g. steam)…

  • And we can not automatically match their account…

  • Then add a new button to the registration form like Link to existing account

I like the idea, although it will be technically tricky to implement. Maybe start a #feature topic describing the idea?

3 Likes

That would be exactly what I would suggest. I’ll create a thread here in a bit. Thanks for all the help David!

3 Likes

Does anyone know if this plugin stores the SteamID? I had a look through the code but there didn’t seem to be much logic in here.

All the data from steam will be stored in the user_associated_accounts table. To see it in data explorer you can use a query like

SELECT * 
FROM user_associated_accounts
WHERE provider_name = 'steam'
5 Likes