• This forum has been archived. New threads and replies may not be made. All add-ons/resources that are active should be migrated to the Resource Manager. See this thread for more information.

Steam Community OpenID Login

Luke F

Well-known member
This addon adds a
sits_small.png
button which functions pretty much the same as the existing Facebook login button.

Features:

  • Prepopulated username from user's Steam name.
  • Downloads and uses Steam avatar for new users.
  • Integrates with my Steam Identity Service addon to populate Steam ID for both new and existing users.
  • As with the existing Facebook integration, supports both new and existing users.
Installation:

  1. Install Steam Identity Service
  2. Upload contents of upload folder to your forum root
  3. Install addon-SteamLogin.xml file
  4. Edit login_bar_form template - Add:
    Code:
    <xen:include template="dark_steam_login_button" />
    Before:
    Code:
    </xen:contentcheck>
Please don't forget to donate :) (see my sig)
 

Attachments

  • SteamLogin.zip
    SteamLogin.zip
    6.7 KB · Views: 291
  • button.webp
    button.webp
    18.6 KB · Views: 357
  • register.webp
    register.webp
    19.6 KB · Views: 316
  • steamlogin.webp
    steamlogin.webp
    21.9 KB · Views: 320
  • SteamLogin_1.1_patch.zip
    SteamLogin_1.1_patch.zip
    4.8 KB · Views: 157
Awesome addon Darkimmortal!

Was actually working on sending you a PC last night about possibly doing this exact addon! Anyhow I sent a donation your way, really appreciate the work you have done! :)
 
Very nice.

Is there a way to login to a forum account that already has an ID set by "Steam Identity Service"? I just tested it, and it prompts me to create a new account.

Is it possible to disable people manually entering a random ID in their contact details?
 
You can click the Tab next to the "Create New Account", it should say Associate Account.

Ah ok thanks.

So does anyone know how to disable letting people enter random IDs in their profile?

Right now I think it allows people to login someone else's account by putting their Steam ID in your contact details. Never mind it looks like login Steam ID is stored again in xf_user_external_auth. It would still be nice to disallow editing of the ID in the profile.
 
I've modded the 2 plugins.

Changes:
If you are testing the Identity Steam ID updates by editing the database entry, you will need to refresh the user cache before the changes show up in the database and in your Identities edit box.

Please let me know if there are any bugs.
 

Attachments

Why would you want to stop people changing it?

Surely it will never change?

I don't want any impersonation of Steam IDs.

It will change if either one of the following happens:
  • Someone wants to switch accounts. The person is already logged into the forum, and logs into Steam under a new account.
  • The person deleted his steam account for privacy reasons, and wishes to update his Steam ID again.
 
I found another bug. Inside kyouko.php this line should be moved up into the if statement above.

$avatarModel->applyAvatar($user['user_id'], $avatarFile);
 
I am logged in fine, and when I then click the "Login" button it redirects me to my site and says "Invalid login. Is your Steam profile public?" And yes it's public.
 
To you guys running it, is it stable enough to put up on a production site yet? I'm about to launch a site, and the ability to log-in via steam is going to be a must have.

I've been toying with the add-on locally on my own test forum and it seems to be working fine. I'm still learning the code base so I'm not as good at debugging as I once was so I was hoping for an outside opinion as I see a few people seem to be having issues with it.

Great add-on btw, Dark :).
 
The addon seems fine on my site so far for me, although not many users yet. At least 8 members have used it without a hitch. Your welcome to test it out if you wish, link in sig.
 
I solved the problem.

Replace in the function _genUrl in the variable $returnTo and $params['openid.realm'] :
Code:
!empty($_SERVER['HTTPS'])
With:
Code:
isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on"
 
I'm using your version, but it won't allow me to manually edit my ID if I'm already registered normally, it says I have to sign in using Steam service. I don't want to change anything in my profile though... Or change the method of my account.

They either need to logout and sign in through steam so they can click on the "associate account" tab.

Or... you need to stick a link to http://your_xenforo_forum.com/register/steam?reg=1 so people can sign in through steam while logged into xenforo.

Take a look at this tutorial.

http://www.skial.com/threads/login-through-steam.80/
 
I solved the problem.

Replace in the function _genUrl in the variable $returnTo and $params['openid.realm'] :
Code:
!empty($_SERVER['HTTPS'])
With:
Code:
isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on"

This doesn't fix it for me :(
 
Top Bottom