Steam Authentication & Integration

Steam Authentication & Integration 1.6.3

No permission to download
sigh nvm I just noticed a lot of the features won't work if the provider key is changed.

The provider key is something I never seen before. Here is an example: 3736353631313938313338313135323639

It looks like part of it is the community id for a steam user. Can anyone help me figure out how to convert this to steam id?

This way I can just edit the sourcemod plugin instead of editing the xenforo addon.
 
sigh nvm I just noticed a lot of the features won't work if the provider key is changed.

The provider key is something I never seen before. Here is an example: 3736353631313938313338313135323639

It looks like part of it is the community id for a steam user. Can anyone help me figure out how to convert this to steam id?

This way I can just edit the sourcemod plugin instead of editing the xenforo addon.

That value is in hex. Are you looking at that data through phpmyadmin? I guarantee you the value of 3736353631313938313338313135323639 is actually 76561198138115269 in the database. Which is this user: http://steamcommunity.com/profiles/76561198138115269

My guess is that phpmyadmin is displaying the data incorrectly. I believe I told somebody how to fix it before, just search this thread for the word hex.

As for converting SteamID to SteamID64 or SteamID64 to SteamID, you can try out this MySQL stored procedure: https://forums.alliedmods.net/showp...22860e3ade474c0dfcdaf&p=1593324&postcount=306

I would recommend doing that on a test database first before doing it on your production. This might work out for you. The only problem is, I'm assuming you'd manually have to use this each time you want to update your other table.

This addon does feature a template variable that does convert SteamID64 into SteamID, but you'd still have to get it into the database in someway. Unfortunately this addon uses SteamID64 as it's the only way to properly interface with the API.
 
Posting here as it may be useful, this server error log happened twice little ago:
Code:
Server Error Log
Error Info
ErrorException: Undefined index: openid_return_to - library/Steam/ControllerPublic/Register.php:702
Generated By: Unknown Account, Today at 10:55 AM
Stack Trace
#0 /home/bacon/www/www/library/Steam/ControllerPublic/Register.php(702): XenForo_Application::handlePhpError(8, 'Undefined index...', '/home/bacon/www...', 702, Array)
#1 /home/bacon/www/www/library/Steam/ControllerPublic/Register.php(45): Steam_ControllerPublic_Register->_validate()
#2 /home/bacon/www/www/library/XenForo/FrontController.php(347): Steam_ControllerPublic_Register->actionSteam()
#3 /home/bacon/www/www/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#4 /home/bacon/www/www/index.php(13): XenForo_FrontController->run()
#5 {main}
Request State
array(3) {
  ["url"] => string(2708) "http://----.com/register/steam?redirect=http%3A%2F%2F---.com%2Fregister%2Fsteam%3Fredirect%3Dhttp%253A%252F%252Filovebacons.com%252Fpass%252F%26openid.ns%3Dhttp%253A%252F%252Fspecs.openid.net%252Fauth%252F2.0%26openid.mode%3Did_res%26openid.op_endpoint%3Dhttps%253A%252F%252Fsteamcommunity.com%252Fopenid%252Flogin%26openid.claimed_id%3Dhttp%253A%252F%252Fsteamcommunity.com%252Fopenid%252Fid%252F76561198131614256%26openid.identity%3Dhttp%253A%252F%252Fsteamcommunity.com%252Fopenid%252Fid%252F76561198131614256%26openid.return_to%3Dhttp%253A%252F%252Filovebacons.com%252Fregister%252Fsteam%253Fredirect%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fpass%25252F%26openid.response_nonce%3D2014-09-20T09%253A55%253A11Zz6bY218SvfbEle7lHAiUsTHlbZA%253D%26openid.assoc_handle%3D1234567890%26openid.signed%3Dsigned%252Cop_endpoint%252Cclaimed_id%252Cidentity%252Creturn_to%252Cresponse_nonce%252Cassoc_handle%26openid.sig%3D%252FI%252FqbYhclplxfoV6EMaHyroiYbE%253D&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Flogin&openid.claimed_id=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198131614256&openid.identity=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198131614256&openid.return_to=http%3A%2F%2Filovebacons.com%2Fregister%2Fsteam%3Fredirect%3Dhttp%253A%252F%252Filovebacons.com%252Fregister%252Fsteam%253Fredirect%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fpass%25252F%2526openid.ns%253Dhttp%25253A%25252F%25252Fspecs.openid.net%25252Fauth%25252F2.0%2526openid.mode%253Did_res%2526openid.op_endpoint%253Dhttps%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Flogin%2526openid.claimed_id%253Dhttp%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Fid%25252F76561198131614256%2526openid.identity%253Dhttp%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Fid%25252F76561198131614256%2526openid.return_to%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fregister%25252Fsteam%25253Fredirect%25253Dhttp%2525253A%2525252F%2525252Filovebacons.com%2525252Fpass%2525252F%2526openid.response_nonce%253D2014-09-20T09%25253A55%25253A11Zz6bY218SvfbEle7lHAiUsTHlbZA%25253D%2526openid.assoc_handle%253D1234567890%2526openid.signed%253Dsigned%25252Cop_endpoint%25252Cclaimed_id%25252Cidentity%25252Creturn_to%25252Cresponse_nonce%25252Cassoc_handle%2526openid.sig%253D%25252FI%25252FqbYhclplxfoV6EMaHyroiYbE%25253D&openid.response_nonce=2014-09-20T09%3A55%3A38ZabBNyWVfzfNwbffgrws9HF%2FmcW8%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=HBIQEzlmqSGvBGn9MhrorV2tGPI%3D"
  ["_GET"] => array(9) {
    ["openid_ns"] => string(32) "http://specs.openid.net/auth/2.0"
    ["openid_mode"] => string(6) "id_res"
    ["openid_op_endpoint"] => string(39) "https://steamcommunity.com/openid/login"
    ["openid_claimed_id"] => string(53) "http://steamcommunity.com/openid/id/76561198131614256"
    ["openid_identity"] => string(53) "http://steamcommunity.com/openid/id/76561198131614256"
    ["openid_response_nonce"] => string(48) "2014-09-20T09:55:38ZabBNyWVfzfNwbffgrws9HF/mcW8="
    ["openid_assoc_handle"] => string(10) "1234567890"
    ["openid_signed"] => string(76) "signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle"
    ["openid_sig"] => string(28) "HBIQEzlmqSGvBGn9MhrorV2tGPI="
  }
  ["_POST"] => array(0) {
  }
}
 
Hello everyone,

Sorry for the double but it's time for a development update. Webmasters using HTTPS with XenForo rejoice! In the upcoming version if you have Image Proxy enabled SteamAuth will take advantage of it.

Here it is in action:

Stats: https://ragecagegaming.com/forum/steam/
Posts: https://ragecagegaming.com/forum/threads/giant-creeper.267/

How did you add the sidebar stats and info? (from the first link)

In the previous page of the quote above, you said you would look into this, but I don't see where you say how to do this... Thanks
 
Is there any way we can add seperate button under the profile picture in posts that links the steam inventory?

I am aware of the default steam profile bar, but I wanted to have an extra one to make it easier to find for my users.

Only thing I could find was .steamprofile .sp-viewinventory, in the steam_profile.css
 
Posting here as it may be useful, this server error log happened twice little ago:
Code:
Server Error Log
Error Info
ErrorException: Undefined index: openid_return_to - library/Steam/ControllerPublic/Register.php:702
Generated By: Unknown Account, Today at 10:55 AM
Stack Trace
#0 /home/bacon/www/www/library/Steam/ControllerPublic/Register.php(702): XenForo_Application::handlePhpError(8, 'Undefined index...', '/home/bacon/www...', 702, Array)
#1 /home/bacon/www/www/library/Steam/ControllerPublic/Register.php(45): Steam_ControllerPublic_Register->_validate()
#2 /home/bacon/www/www/library/XenForo/FrontController.php(347): Steam_ControllerPublic_Register->actionSteam()
#3 /home/bacon/www/www/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#4 /home/bacon/www/www/index.php(13): XenForo_FrontController->run()
#5 {main}
Request State
array(3) {
  ["url"] => string(2708) "http://----.com/register/steam?redirect=http%3A%2F%2F---.com%2Fregister%2Fsteam%3Fredirect%3Dhttp%253A%252F%252Filovebacons.com%252Fpass%252F%26openid.ns%3Dhttp%253A%252F%252Fspecs.openid.net%252Fauth%252F2.0%26openid.mode%3Did_res%26openid.op_endpoint%3Dhttps%253A%252F%252Fsteamcommunity.com%252Fopenid%252Flogin%26openid.claimed_id%3Dhttp%253A%252F%252Fsteamcommunity.com%252Fopenid%252Fid%252F76561198131614256%26openid.identity%3Dhttp%253A%252F%252Fsteamcommunity.com%252Fopenid%252Fid%252F76561198131614256%26openid.return_to%3Dhttp%253A%252F%252Filovebacons.com%252Fregister%252Fsteam%253Fredirect%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fpass%25252F%26openid.response_nonce%3D2014-09-20T09%253A55%253A11Zz6bY218SvfbEle7lHAiUsTHlbZA%253D%26openid.assoc_handle%3D1234567890%26openid.signed%3Dsigned%252Cop_endpoint%252Cclaimed_id%252Cidentity%252Creturn_to%252Cresponse_nonce%252Cassoc_handle%26openid.sig%3D%252FI%252FqbYhclplxfoV6EMaHyroiYbE%253D&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Flogin&openid.claimed_id=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198131614256&openid.identity=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198131614256&openid.return_to=http%3A%2F%2Filovebacons.com%2Fregister%2Fsteam%3Fredirect%3Dhttp%253A%252F%252Filovebacons.com%252Fregister%252Fsteam%253Fredirect%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fpass%25252F%2526openid.ns%253Dhttp%25253A%25252F%25252Fspecs.openid.net%25252Fauth%25252F2.0%2526openid.mode%253Did_res%2526openid.op_endpoint%253Dhttps%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Flogin%2526openid.claimed_id%253Dhttp%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Fid%25252F76561198131614256%2526openid.identity%253Dhttp%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Fid%25252F76561198131614256%2526openid.return_to%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fregister%25252Fsteam%25253Fredirect%25253Dhttp%2525253A%2525252F%2525252Filovebacons.com%2525252Fpass%2525252F%2526openid.response_nonce%253D2014-09-20T09%25253A55%25253A11Zz6bY218SvfbEle7lHAiUsTHlbZA%25253D%2526openid.assoc_handle%253D1234567890%2526openid.signed%253Dsigned%25252Cop_endpoint%25252Cclaimed_id%25252Cidentity%25252Creturn_to%25252Cresponse_nonce%25252Cassoc_handle%2526openid.sig%253D%25252FI%25252FqbYhclplxfoV6EMaHyroiYbE%25253D&openid.response_nonce=2014-09-20T09%3A55%3A38ZabBNyWVfzfNwbffgrws9HF%2FmcW8%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=HBIQEzlmqSGvBGn9MhrorV2tGPI%3D"
  ["_GET"] => array(9) {
    ["openid_ns"] => string(32) "http://specs.openid.net/auth/2.0"
    ["openid_mode"] => string(6) "id_res"
    ["openid_op_endpoint"] => string(39) "https://steamcommunity.com/openid/login"
    ["openid_claimed_id"] => string(53) "http://steamcommunity.com/openid/id/76561198131614256"
    ["openid_identity"] => string(53) "http://steamcommunity.com/openid/id/76561198131614256"
    ["openid_response_nonce"] => string(48) "2014-09-20T09:55:38ZabBNyWVfzfNwbffgrws9HF/mcW8="
    ["openid_assoc_handle"] => string(10) "1234567890"
    ["openid_signed"] => string(76) "signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle"
    ["openid_sig"] => string(28) "HBIQEzlmqSGvBGn9MhrorV2tGPI="
  }
  ["_POST"] => array(0) {
  }
}

Line 702 is this:

Code:
$value = $data['openid_' . str_replace('.','_',$item)];

It sounds like you didn't get a valid OpenID from the SteamAPI. Do you know how it was triggered, can you reproduce it?

Do I still need to allow_furl_open = 1 even if I had installed cURL?

Nope, everything should use cURL first and fallback on furl if you don't have cURL setup correctly.

How did you add the sidebar stats and info? (from the first link)

In the previous page of the quote above, you said you would look into this, but I don't see where you say how to do this... Thanks

Sidebar stats and info? Like a widget? I have not created one yet. It's still on my to-do list.

Is there any way we can add seperate button under the profile picture in posts that links the steam inventory?

I am aware of the default steam profile bar, but I wanted to have an extra one to make it easier to find for my users.

Only thing I could find was .steamprofile .sp-viewinventory, in the steam_profile.css

You could do a template modification like this under the steamprofile:
<a href="http://steamcommunity.com/profiles/{$message.externalAuth.steam}/inventory/">User Inventory</a>

(If {$message.externalAuth.steam}, try {$user.externalAuth.steam})

After updating our software to 1.4.1 (xenForo) the whole steam auth isn't working corretly.
Please advice.

http://inthegame.nl/forums/steam/

It's your template. Have they updated it for 1.4.1? I tested 1.4.1 on my dev box and it works correctly on the default XenForo template. Looks like the javascript isn't being included. Does it also work for you on the default XenForo template?
 
Short story: You can but you have to copy the css and js includes to another template, but you'd be violating the Steam API terms.

Long Story:

Everything that makes Steam Profile display correctly is in that footer. You'd have to copy it's content to another template and every time I update the addon, you're going to have to make that change again. My recommendation would be to leave the footer enabled because having it disabled removes all brandings for anything you have installed, including the XenForo copyright (which you need to pay an extra $250 for that to be removed).
 
Nope, everything should use cURL first and fallback on furl if you don't have cURL setup correctly.
Strange...

I have installed php-curl (appears in phpinfo) yet I got this:

Code:
file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0

[LIST=1]
[*]XenForo_Application::handlePhpError()
[*]file_get_contents() in Steam/ControllerPublic/Register.php at line [B]765[/B]
[*]Steam_ControllerPublic_Register->_validate() in Steam/ControllerPublic/Register.php at line [B]45[/B]
[*]Steam_ControllerPublic_Register->actionSteam() in XenForo/FrontController.php at line [B]347[/B]
[*]XenForo_FrontController->dispatch() in XenForo/FrontController.php at line [B]134[/B]
[*]XenForo_FrontController->run() in /usr/share/nginx/html/index.php at line [B]13[/B]
[/LIST]
 
Strange...

I have installed php-curl (appears in phpinfo) yet I got this:

Code:
file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0

[LIST=1]
[*]XenForo_Application::handlePhpError()
[*]file_get_contents() in Steam/ControllerPublic/Register.php at line [B]765[/B]
[*]Steam_ControllerPublic_Register->_validate() in Steam/ControllerPublic/Register.php at line [B]45[/B]
[*]Steam_ControllerPublic_Register->actionSteam() in XenForo/FrontController.php at line [B]347[/B]
[*]XenForo_FrontController->dispatch() in XenForo/FrontController.php at line [B]134[/B]
[*]XenForo_FrontController->run() in /usr/share/nginx/html/index.php at line [B]13[/B]
[/LIST]

Looks like I missed that line, sorry about that. I changed all the file_get_contents accept that one. I'll add in a cURL check for that as well.
 
If i set a usergroup promotion with this, each time the cron runs it keep promoting and demoting to that group i created, any reason why is this happening? xenforo 1.4.1.
 
Not exactly sure at this moment. The criteria is correct (try creating a notice for associated steam users, it shows properly). Perhaps it's a XenForo bug with the cron?

EDIT: Make sure you choose more than one user group (Like Registered + Steam). That seemed to work for me.

EDIT 2: Looks like the cron may only run against users that are online at that moment. See below.

@Wulfspider looks like this feature is what you can use to update your users to a Steam group.
 
Last edited:
If i set a usergroup promotion with this, each time the cron runs it keep promoting and demoting to that group i created, any reason why is this happening? xenforo 1.4.1.
Basically when the user isn't online the check always returns false. That's what I think and I ended up scrapping the idea altogether

EDIT: Make sure you choose more than one user group (Like Registered + Steam). That seemed to work for me.
This would be terrible if the check failed anyways, they'd get removed from registered and have no permissions at all.
 
Basically when the user isn't online the check always returns false. That's what I think and I ended up scrapping the idea altogether


This would be terrible if the check failed anyways, they'd get removed from registered and have no permissions at all.

Are you sure that's how it works? For example,

I have a User Group Promotion with the following attributes:
  • Promotion is active
  • Add user to groups: Registered and Steam User Group
  • Apply this promotion while Steam State is: Associated
My test user is offline on the forums and I manually run the cron under the admin account. That user remains in both registered and steam user group. I then log in on the test user (in another browser), and disassociate the account from Steam and while the user is logged in, I manually run the cron. It removes the user from the Steam User Group but keeps them in Registered.

EDIT: In either event looks like you don't need the registered checkbox. You are correct in that the cron only affects users who are online at that moment, but it shouldn't "de-register" you if you have the register group checked. For safety you can leave it unchecked.

I think it's designed so that whatever is their primary group, it can't be removed. I don't think it's possible to have an account not be in any group at all. So if they are affected by the User Group Promotion and it removes them from all groups, the primary one will stick around.
 
Last edited:
is there a steam id helper for the new steamid3 format?
I got the one for the normal format already from the community id, I just need to find a way to convert it to the new layout :D
Here is an example: [U:1:371349]
Here is the math conversion (got this off a website):
According to https://developer.valvesoftware.com/wiki/SteamID
Code:
STEAM_X:Y:Z
Our new SteamID is: Z*2+Y
Example:
STEAM_0:1:185674 (old)
185674*2+1=
STEAM_0:[U:1:371349] (new)
X=1=U
 
Top Bottom