Hello - I know this has been asked numerous times, and I keep revisiting the same posts hoping I missed something, but I cannot seem to get this to work for me.
I have revoked/reset the Web Key multiple times in Steam and waited for a whole day before connecting it into PlayFab and testing. I get the same error response as other users that have posted this. The steam auth ticket is returning properly, but LoginWithSteam call fails with the "Ticket for other app (102)" error.
I've tried this with the web api call here https://api.playfab.com/documentation/client/method/LoginWithSteam but get the same error response. The appID has been replaced in the steam_appid text file with my appID from Steam.
I am using the GetAuthKey method from Dylan Hunt found in the PlayFab documentation here https://api.playfab.com/docs/tutorials/landing-players/getstarted-steam-unity. The Steam Auth Ticket is returning properly with this method, but failing when using the setup below. Any help would be greatly appreciated!
Here's my setup, using Unity v2018.3.11f1 on PlayFab SDK v2.69.190625. PlayFab TitleID: 31C20
/// <summary /// LoginWithSteam PlayFab call /// </summary> public void LoginWithSteam() { PlayFabClientAPI.LoginWithSteam(new LoginWithSteamRequest { CreateAccount = true, SteamTicket = GetSteamAuthTicket(); }, OnSteamLoginSuccess, OnSteamLoginFail); } /// <summary> /// Steam Login Success /// </summary> /// <param name="result"></param> private void OnSteamLoginSuccess(LoginResult result) { Debug.Log("Steam Success!"); } /// <summary> /// Steam Login Fail /// </summary> /// <param name="error"></param> private void OnSteamLoginFail(PlayFabError error) { Debug.Log("httpStatus: " + error.HttpStatus); Debug.Log("errorMessage: " + error.ErrorMessage); Debug.Log("Failed: " + error.GenerateErrorReport()); } /// <summary> /// Get the steam auth ticket for login with PlayFab /// </summary> /// <returns></returns> public string GetSteamAuthTicket() { byte[] ticketBlob = new byte[1024]; uint ticketSize; HAuthTicket hTicket = SteamUser.GetAuthSessionTicket(ticketBlob, ticketBlob.Length, out ticketSize); // Resize the buffer to actual length Array.Resize(ref ticketBlob, (int)ticketSize); // Convert bytes to string StringBuilder sb = new StringBuilder(); foreach(byte b in ticketBlob) { sb.AppendFormat("{0:x2}", b); } return sb.ToString(); }