question

amyne avatar image
amyne asked

Urgent, LoginWithSteam not working since 24/06/2023 due to SDK using old endpoint,URGENT: LoginwithSteam no longer working thanks to Playfab SDK deprecated auth function!

Hello Playfab team, Since yesterday, our players are getting errors when they try to login to playfab with Steam.

The error that playfab SDK (on Unity) is showing is:

DownstreamServiceUnavailable => Failed to connect to Steam WebAPI AuthenticateUserTicket: Timeout

It seems that Steam did add a 4th parameters "identity" => https://partner.steamgames.com/doc/webapi/ISteamUserAuth#AuthenticateUserTicket And that parameter is not exposed in Playfab Steam plugin backend.

We are using the latest Playfab SDK for Unity => SDK 2.168.230609

Authentication
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Xiao Zha avatar image
Xiao Zha answered

The DownstreamServiceUnavailable (1127) error indicates that PlayFab or a third-party service might be having a temporary issue. And I have found some info on Steam down? Current network status and problems | Downdetector. It shows that an outage was reported this morning, so your issue might be related to that. Please continue to monitor this issue to see if it persists after the Steam fixes the issue.

5 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Chad Reddick avatar image Chad Reddick commented ·

It's still not working as of now. Steam is up, and I, too, am retrieving this issue (on the UE4 side... specifically UE 4.27)

1 Like 1 ·
Chad Reddick avatar image Chad Reddick Chad Reddick commented ·

Adding more on this update: New error occuring:

 Steam API AuthenticateUserTicket error response: {"response":{"error":{"errorcode":105,"errordesc":"Identity parameter did not match"}}}

Identity parameter.. any sort of solution to fix this? @Xiao Zha

0 Likes 0 ·
Chad Reddick avatar image Chad Reddick commented ·

Also in UE4, I can see the struct that sends the request, I'm not sure what to change

Is there going to be an update rolling out on the Marketplaces for both Unity and Unreal to address this issue?

 struct PLAYFABCPP_API FLinkSteamAccountRequest : public PlayFab::FPlayFabCppRequestCommon
 {
     // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
     TMap<FString, FString> CustomTags;
     // [optional] If another user is already linked to the account, unlink the other user and re-link.
     Boxed<bool> ForceLink;
    
     /**
      * Authentication token for the user, returned as a byte array from Steam, and converted to a string (for example, the byte
      * 0x08 should become "08").
      */
     FString SteamTicket;
    
     /**
      * [optional] True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
      * False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
      */
     Boxed<bool> TicketIsServiceSpecific;
    
 ... rest of the code I cannot fit in the comment
0 Likes 0 ·
Chad Reddick avatar image Chad Reddick Chad Reddick commented ·

I managed to fix this actually... I guess with UE4, when getting the IdentityProvider. Previously, this didn't matter but now, you gotta be more explicit.

 IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface();

Needs to be this now

 IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get();
    
 IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface(OnlineSub->GetSubsystemName());
1 Like 1 ·
Xiao Zha avatar image Xiao Zha Chad Reddick commented ·

Glad to hear you solved the problem.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.