Steam Login / Authentication Plugin

pr-welcome

(Jonathan Feist) #1

Discourse Steam Login/Authentication Plugin

A simple plugin that enables authentication via Steam. Users must still provide an email address on first authentication.


Usage


  1. Add your STEAM WEB API KEY obtainable from steamcommunity.com/dev/apikey. E.g. domain name: forum.example.org

  2. SSH into your server.

  3. cd /var/discourse

  4. Open containers/app.yml and make the following changes:

  5. Add the API key to your Discourse Docker configuration file located at /var/discourse/containers/app.yml. It needs to go under env: in the format STEAM_WEB_API_KEY: 'KEY'

  6. Add the git clone of this plugin to the plugin list under hooks: below the Discourse Docker Manager plugin like so: - git clone https://github.com/defaye/discourse-steam-login.git

  7. Exit and save changes

  8. Run ./launcher rebuild app to apply the changes.


Steam Authentication & Integration
Can't edit old topic
(@SenpaiMass) #2

Tested on a live platform , works very well. Thanks for this plugin.


(Christian Stewart) #3

Do you have some way of setting the profile picture to the steam picture and to associate the player SteamID and url?


(Jonathan Feist) #4

Not currently. It could be done I’m sure but I’m not familiar with the way the avatar system works in Discourse and if you mean additional details on the individual’s profile then yeah, not currently. I am not sure that this plugin should do it out of the box either. It’s an authentication method rather than a complete profile integration.


(Maestro Magnifico) #5

Works fine but not great. It didn’t got my email from Steam account, so as username. It’s Maestro, but plugin shows 111 for some reason. So I don’t see big proffit from this plugin at this point. :confused: Is there any plans to improve it?


(Logan Mathews) #6

It would appear that the the nickname and name fields are being populated by the value in the name field. In this case, player[“realname”]

I was able to correctly populate the username field by changing
"name" => player[“realname”],
to
"name" => player[“personaname”],

Granted, their real name is now incorrect but I believe that to be far less of an issue as a numble of steam users tend to leave that info out anyways.


(Stephen) #7

Looks like the latest update has changed the fontawesome icon, assuming this is unintended?

<button data-ember-action="1503" class="btn btn-social steam">with Steam</button>

with the style:

.btn-social.steam:before {
    content: "b";
}

Looking at github the above is in the change made ~a month ago


[Paid] Fix a Steam plugin oAuth bug for unconfirmed emails
(Kane York) #8

Yep, needs to be updated. The icon is fa fa-steam


(Jonathan Feist) #9

I will update tomorrow evening unless anyone sends a pull request! Thanks
guys


(Sam Saffron) #10

Thanks, we removed zocial cause only depending on 1 icon font is better than depending on 2 :slight_smile:


(Jonathan Feist) #12

Change is now committed and updated to 1.1.0. Should look like this:


#13

I think there may be a bug with this:

Anyone else had the same problem?


#15

I just ran in to this myself. When I get some time I’ll see if I can troubleshoot, but disabling the plugin did fix the issue for me as well.


(Jonathan Feist) #16

Okay well it’s good to know that it has been reproduced on someone else’s website. I don’t really have much free time at the moment to spin up an instance of Discourse to test. It might be worth commenting out 49-50 and see what happens… Other than that, I can’t think of anything and without looking at the issue myself I’m not going to troubleshoot easily.


#17

I had the issue too but managed to solve it, somehow using direct unicode to get the FontAwesome icon resulted in this CSS glitch (I have no idea why/how).

Pull request with fix: Fix icon CSS glitch by martijnrondeel · Pull Request #3 · discourse/discourse-steam-login · GitHub


(Jonathan Feist) #18

I’ve sent you an email Martyn. Thanks for the contribution~


(Marcos P) #19

I installed in my amazon ec2 bitnami with command:

RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/defaye/discourse-steam-login.git

RAILS_ENV=production bundle exec rake assets:precompile

how to change api key?

My host don’t have /var/docker

Thanks for help!


(Felix Freiberger) #20

Bitnami installs are unsupported. I’d recommend that you backup your data and migrate to a Docker install:


(Marcos P) #21

I believe that there must be a way to set up Steam API in my machine with BitNami


(Jonathan Feist) #22

Have you tried setting the STEAM_WEB_API_KEY environment variable manually?