Jump to content
 Share

Roy

Steam Login/Integration Fixed!

Recommended Posts

Hello everyone, I just wanted to let everyone know the Steam login/integration with the website is fixed! This means you should be able to login and sign up through Steam again.

 

The Issue

We use this IPS 4 plugin to handle Steam logins.

 

After debugging the issue for around an hour, in system/Login/Steam.php I added logging to this area:

preg_match("#^http://steamcommunity.com/openid/id/([0-9]{17,25})#", $_GET['openid_claimed_id'], $matches);
$steamID64 = is_numeric($matches[1]) ? $matches[1] : 0;
\IPS\Log::log($_GET['openid_claimed_id'], 'steam_login');

 

$_GET['openid_claimed_id'] was returning a HTTPS URL instead of HTTP. I'd assume Steam's OpenID is now going over HTTPS instead of HTTP (probably a recent change). Therefore, simply changing it to check on HTTPS fixed the issue:

preg_match("#^https://steamcommunity.com/openid/id/([0-9]{17,25})#", $_GET['openid_claimed_id'], $matches);

 

Before this issue was fixed, this is the error you likely received while trying to login:

 

image.png

 

Something went wrong. Please try again.

 

I hope this helps any others running IPS 4 with the Steam login handler!

 

Thanks!

Share this post


Link to post
Share on other sites


Posted  Edited by TheSadBandit · Hidden
Hidden
3 hours ago, Roy said:

Hello everyone, I just wanted to let everyone know the Steam login/integration with the website is fixed! This means you should be able to login and sign up through Steam again.

 

The Issue

We use this IPS 4 plugin to handle Steam logins.

 

After debugging the issue for around an hour, in system/Login/Steam.php I added logging to this area:


preg_match("#^http://steamcommunity.com/openid/id/([0-9]{17,25})#", $_GET['openid_claimed_id'], $matches);
$steamID64 = is_numeric($matches[1]) ? $matches[1] : 0;
\IPS\Log::log($_GET['openid_claimed_id'], 'steam_login');

 

$_GET['openid_claimed_id'] was returning a HTTPS URL instead of HTTP. I'd assume Steam's OpenID is now going over HTTPS instead of HTTP (probably a recent change). Therefore, simply changing it to check on HTTPS fixed the issue:


preg_match("#^https://steamcommunity.com/openid/id/([0-9]{17,25})#", $_GET['openid_claimed_id'], $matches);

 

Before this issue was fixed, this is the error you likely received while trying to login:

 

image.png

 

Something went wrong. Please try again.

 

I hope this helps any others running IPS 4 with the Steam login handler!

 

Thanks!

Is this the sourcebans thing or no

 

Edit: no its not

Edited by TheSadBandit

Former Gmod Prop Hunt Admin

Former Media Team Team Leader

Former Media Team GFX Member

Share this post


Link to post

2 hours ago, Jerry Hat Trick said:

It's still doing it for me.

 

12.jpg

Is this on mobile? Also, I'd assume you're signing in, correct?

 

Thanks.

Share this post


Link to post
Share on other sites


53 minutes ago, Jerry Hat Trick said:

No, this is on my pc, and using both Chrome & Firefox.

I am able to sign in using my email address, but have customarily done so using the Steam log in.

I will enable debug logging again once I have the time. I will send you a PM once I've done so and you can try to log in. Hopefully I'll be able to gain more information.

 

I apologize for this inconvenience. 

 

Thanks.

Share this post


Link to post
Share on other sites


@Jerry Hat Trick, I have enabled debugging for your Steam ID. Would you be able to try logging in through Steam again? It will likely not work but it'll let me gather more information.

 

// Jerry Hat Trick Logging.
if (strpos($_GET['openid_claimed_id'], '76561197995102325') !== false)
{
	$stuffz = Array();
	
	// Get the stuffz.
	$stuffz['claimed_id'] = $_GET['openid_claimed_id'];
	$stuffz['values'] = $values;
	$stuffz['params'] = $params;
	
	// Encode it in JSON.
	$daStuffz = json_encode($stuffz);
	
	// Log da message?!?!?!?!?!?!? YES!
	\IPS\Log::log($daStuffz, 'steam_login');
}

 

Thanks.

Share this post


Link to post
Share on other sites




×
×
  • Create New...