Steam Authentication & Integration

Steam Authentication & Integration 1.6.3

No permission to download
Is there an importer made from switching from vBulletin version to the XenForo version by chance?? If not is there a way to import the users Steam ID or can you make something??
 
I read it and indeed, it seems to be the same mistake as the author. Thank you :)
I'll try to find a way to solve it, but anyway, an option inside your addon to promote an associated user to a specified group can be great. Why ? because groups are more (obviously) integrated in other Xenforo features than your addon. Hopefully, in promotion stuff, the Steam state and game list are included in available conditions :)


EDIT : I changed (unchecked a criteria that was not correct) the criteria but the same behavior occured. If a user is already promoted in the right group (the only criteria is "Steam associated"), he's moved out of this group during the next promotion process... Any idea ?

I think I get a clue :
PHP:
 switch($data['state']) {
            case 'associated':
                      if(!empty($user['externalAuth']['steam']) && $user['externalAuth']['steam'] > 0) {
                                   $returnValue = true;
                      } else {
                                   $returnValue = false;
                      }
                      break;

(In the Helper/Criteria.php file)
It checks if externalAuth is not empty and value is "provider_key" (so not null, equals to steamid64). But, when I look at the profile of a member who is associated to Steam through the ACP (the Extra tab), I see there's no external account registered (this member has a valid entry in the xf_user_external_auth table).

Moreover, this class (Steam_Helper_Criteria) is not called by any other script inside the addon... Is it called automatically by XF w/o being declared ?

Any idea ?

So, you can test that the criteria works properly by setting a notice only associated accounts can see. I do it on my development board every version to ensure everything is working correctly. The code you're talking about is called in other places in the addon (Ex. listener.php's last function)

I find it strange that you don't see the user in the ACP list even though in the database the user is associated. The helper is pulling that information directly from the xf_user_external_auth table and xf_user table.

Is there an importer made from switching from vBulletin version to the XenForo version by chance?? If not is there a way to import the users Steam ID or can you make something??

Could you link the plugin? I haven't used vBulletin in the past or developed for it. If it's open source I might be able to. But no guarantees there.
 
Last edited:
So, you can test that the criteria works properly by setting a notice only associated accounts can see. I do it on my development board every version to ensure everything is working correctly

The criteria works, but when a user is promoted the first time, the next time cron runs he is demoted.. etc..

The code you're talking about is called in other places in the addon (Ex. listener.php's last function)

with "steam_helper_criteria_privs" ? (the template hook I guess) but this template does not exist in template ACP list.. Is it normal ? (edit : forget this, I find that this template is... the criteria list :))

I find it strange that you don't see the user in the ACP list even though in the database the user is associated. The helper is pulling that information directly from the xf_user_external_auth table and xf_user table.

I see the user in ACP, but the "Extra" tab where you can see external account association is empty for all users who have associated to steam.
As you can see in next image, this user is associated to his steam account, but nothing in ACP.
6287489


Any idea ?
Thanks anyway to your support, I hope we'll find a solution :)
 
Last edited:
Oh, right now it's currently not located there. You should be able to see it in the Steam -> Users tab in your ACP.

As for the demotion happening. That's probably the User Promotions being overwritten by another promotion (ie. The user can be applied to two different promotions, but it's taking the one that isn't for steam users).
 
Yes, I can see all users that are associated to their steam account.
I repeat, the association works really fine, steamid64 is recorded in provider_key field in external account table :)
 
Yeah that extra tab is new in 1.4. I should be able to utilize it, I just need to code for it. The addon should still work for 1.4 in the interim though. I have a few code merges I need to make before I release a new version.
 
The promotion issue you're having shouldn't be a problem with the addon. It's probably the way your promotions are setup. If the user can be applied to more than one promotion, then it'll only do one of those as far as I know (thus demoting the user out of the steam user promotion). Alternatively, it may only promote once, so if any other promotions change a user who has already been promoted to your steam group, it'll take the changes of that new promotion. And if that promotion doesn't have your steam group. It'll get removed from the user.

I've tested user promotions on my development board and they apply correctly. Granted the only promotion I have are for steam users, so there's no chance of conflicts with other promotions.
 
Last edited:
OK
Here are screenshots of the only one promotion active, the one about steam association. Tells me if there are some mistakes please :)

6292018


6292036



6292050


Thank you
 
Well that definitely confirms it's not the addon as I suspected. If it was, the criteria wouldn't work at all. Have you looked at your user promotion logs for a specific user to see what's happening?

EDIT: I would also try add to the criteria rules that the user must be apart of the registered group (as long as you aren't pulling them out of it).
 
Last edited:
Hi

I agree with you. The notice criteria works (a priori) fine, but not the promotion.
As you can see in user log :
6330174


It's really a yoyo.. (_Boutique access is the secondary group promoted when association is (or not finally... ^^) detected.
There is also an issue due to user activity when cron runs, but it's the normal behavior of XF...
 
I would try this on a test board if you can, but here's my dev test of it back in September running XenForo 1.4.1. It's been working and the test user has never been demoted since:

Promotion Options:

5btQfam.png

Apply This Promotion While...

Avo26lO.png


Promotion history as proof:

JrYpQNJ.png


I can manually run the cron and everything works, the user is offline and doesn't get demoted. I even removed the add this user to registered users checkbox, saved it, and manually ran the cron again. Still works, no demotions.

I also rebuilt the User Group promotions and manually ran the cron again. My test user is still apart of the "Steam Yay!" group as well as the registered group.
 
Hello @HowIChrgeLazer, recently we're having a lot of registrations 50-100 Per day, and every day i have new Server Errors with this addon:
Code:
Error Info
ErrorException: Undefined index: openid_return_to - library/Steam/ControllerPublic/Register.php:702
Generated By: Unknown Account, Yesterday at 6:58 PM
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(2730) "http://ilovebacons.com/register/steam?redirect=http%3A%2F%2Filovebacons.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%252F76561198114106545%26openid.identity%3Dhttp%253A%252F%252Fsteamcommunity.com%252Fopenid%252Fid%252F76561198114106545%26openid.return_to%3Dhttp%253A%252F%252Filovebacons.com%252Fregister%252Fsteam%253Fredirect%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fpass%25252F%26openid.response_nonce%3D2014-11-01T18%253A57%253A32Zn8dXejqQkrm%252FFcEnO%252BpIDpDM5fE%253D%26openid.assoc_handle%3D1234567890%26openid.signed%3Dsigned%252Cop_endpoint%252Cclaimed_id%252Cidentity%252Creturn_to%252Cresponse_nonce%252Cassoc_handle%26openid.sig%3DISCzKjK2zjcf3%252BB3rnTEZ5%252FO3p4%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%2F76561198114106545&openid.identity=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198114106545&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%25252F76561198114106545%2526openid.identity%253Dhttp%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Fid%25252F76561198114106545%2526openid.return_to%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fregister%25252Fsteam%25253Fredirect%25253Dhttp%2525253A%2525252F%2525252Filovebacons.com%2525252Fpass%2525252F%2526openid.response_nonce%253D2014-11-01T18%25253A57%25253A32Zn8dXejqQkrm%25252FFcEnO%25252BpIDpDM5fE%25253D%2526openid.assoc_handle%253D1234567890%2526openid.signed%253Dsigned%25252Cop_endpoint%25252Cclaimed_id%25252Cidentity%25252Creturn_to%25252Cresponse_nonce%25252Cassoc_handle%2526openid.sig%253DISCzKjK2zjcf3%25252BB3rnTEZ5%25252FO3p4%25253D&openid.response_nonce=2014-11-01T18%3A58%3A51ZflIQWzEP00lx%2FMY3ugttMog2RxU%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=TbDcL%2BGqmjLrxfWZBfrLNTuXBK4%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/76561198114106545"
["openid_identity"] => string(53) "http://steamcommunity.com/openid/id/76561198114106545"
["openid_response_nonce"] => string(48) "2014-11-01T18:58:51ZflIQWzEP00lx/MY3ugttMog2RxU="
["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) "TbDcL+GqmjLrxfWZBfrLNTuXBK4="
}
["_POST"] => array(0) {
}
}

As this is happening every day now, i'm wondering if this people when this error happens are being unable to register, as it seems this generated by one Unknown account?
 
Spent about 15 minutes searching and can't find anything, and I'm sure its something stupidly simple. I can associate Steam with the account through External Accounts but I'm missing the "Log in with Steam" button on the drop down login. I have it on my default style, and I can't find any differences in the login_bar_form template, or anything else.

Anyone know the quick fix to get this to work on a custom style? Using Flat Awesome Dark.
 
Last edited:
[/code]
Hello @HowIChrgeLazer, recently we're having a lot of registrations 50-100 Per day, and every day i have new Server Errors with this addon:
Code:
Error Info
ErrorException: Undefined index: openid_return_to - library/Steam/ControllerPublic/Register.php:702
Generated By: Unknown Account, Yesterday at 6:58 PM
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(2730) "http://ilovebacons.com/register/steam?redirect=http%3A%2F%2Filovebacons.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%252F76561198114106545%26openid.identity%3Dhttp%253A%252F%252Fsteamcommunity.com%252Fopenid%252Fid%252F76561198114106545%26openid.return_to%3Dhttp%253A%252F%252Filovebacons.com%252Fregister%252Fsteam%253Fredirect%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fpass%25252F%26openid.response_nonce%3D2014-11-01T18%253A57%253A32Zn8dXejqQkrm%252FFcEnO%252BpIDpDM5fE%253D%26openid.assoc_handle%3D1234567890%26openid.signed%3Dsigned%252Cop_endpoint%252Cclaimed_id%252Cidentity%252Creturn_to%252Cresponse_nonce%252Cassoc_handle%26openid.sig%3DISCzKjK2zjcf3%252BB3rnTEZ5%252FO3p4%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%2F76561198114106545&openid.identity=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198114106545&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%25252F76561198114106545%2526openid.identity%253Dhttp%25253A%25252F%25252Fsteamcommunity.com%25252Fopenid%25252Fid%25252F76561198114106545%2526openid.return_to%253Dhttp%25253A%25252F%25252Filovebacons.com%25252Fregister%25252Fsteam%25253Fredirect%25253Dhttp%2525253A%2525252F%2525252Filovebacons.com%2525252Fpass%2525252F%2526openid.response_nonce%253D2014-11-01T18%25253A57%25253A32Zn8dXejqQkrm%25252FFcEnO%25252BpIDpDM5fE%25253D%2526openid.assoc_handle%253D1234567890%2526openid.signed%253Dsigned%25252Cop_endpoint%25252Cclaimed_id%25252Cidentity%25252Creturn_to%25252Cresponse_nonce%25252Cassoc_handle%2526openid.sig%253DISCzKjK2zjcf3%25252BB3rnTEZ5%25252FO3p4%25253D&openid.response_nonce=2014-11-01T18%3A58%3A51ZflIQWzEP00lx%2FMY3ugttMog2RxU%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=TbDcL%2BGqmjLrxfWZBfrLNTuXBK4%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/76561198114106545"
["openid_identity"] => string(53) "http://steamcommunity.com/openid/id/76561198114106545"
["openid_response_nonce"] => string(48) "2014-11-01T18:58:51ZflIQWzEP00lx/MY3ugttMog2RxU="
["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) "TbDcL+GqmjLrxfWZBfrLNTuXBK4="
}
["_POST"] => array(0) {
}
}

As this is happening every day now, i'm wondering if this people when this error happens are being unable to register, as it seems this generated by one Unknown account?

I assume most if not all your registrations are going okay. This error your getting is a malformed OpenID URL. Was this person able to register? http://steamcommunity.com/profiles/76561198114106545

If so could you ask and see what issues he encountered?

Spent about 15 minutes searching and can't find anything, and I'm sure its something stupidly simple. I can associate Steam with the account through External Accounts but I'm missing the "Log in with Steam" button on the drop down login. I have it on my default style, and I can't find any differences in the login_bar_form template, or anything else.

Anyone know the quick fix to get this to work on a custom style? Using Flat Awesome Dark.

If it's on the default sounds like everything is working okay in terms of permissions. Does the following code exist in your custom template? (it has to be verbatim)

Code:
<xen:if is="{$xenOptions.googleClientId}"><xen:set var="$eAuth">1</xen:set></xen:if>

If that is missing or different add this after

Code:
<xen:if is="{$xenOptions.steamAPIKey}"><xen:set var="$eAuth">1</xen:set></xen:if>

Code:
<li><span class="googleLogin GoogleLogin JsOnly" tabindex="110" data-client-id="{$xenOptions.googleClientId}" data-redirect-url="{xen:link register/google, '', 'code=__CODE__', 'csrf={$session.sessionCsrf}'}"><span>{xen:phrase login_with_google}</span></span></li>
                </xen:if>

If that is missing or different, add this after

Code:
<xen:include template="steam_login_bar" />

Alternatively, you could change or setup your own Template Modification to match your custom template that's changing the original code. Just mimic the current steam one and match against the lines that are different.
 
I assume most if not all your registrations are going okay. This error your getting is a malformed OpenID URL. Was this person able to register? http://steamcommunity.com/profiles/76561198114106545

If so could you ask and see what issues he encountered?
Hey, i have searched around, had more 2 of those errors since i posted that, none of the steam ids found on the server errors had successfully registered on the site, at least, not with steam. (converting to the steam ids to be able to search them)

However if i use one steam account and register on the forum, it will do so correctly. Most registrations do okay of course, but where such malformed OpenID URL comes from then?
 
Thanks for the super quick response! Yeah that line is in the login_bar_form letter for letter (I copied and pasted yours into the template and saved and it still didn't work). But adding in the two lines you listed did. So it appears to be working now.

Looks like I had this
Code:
<i class="fa fa-google-plus"></i>
in front of the <span> on the 2nd one you listed. I'll try removing that and see if it works without the additional lines.
 
Top Bottom