Infinite flow with Steam GetLinkedAccountAuthToken call while "offline"

Hi there,

Calling GetLinkedAccountAuthToken without previously checking SteamUserPtr->BLoggedOn would not call any Delegate creating a possible infinite loop.

Using these steps you are able to make “if (SteamUserPtr != NULL && SteamUserPtr->BLoggedOn())” fail, following a path that will result in a no-op without the caller knowing

1. Set Steam offline

2. Launch the game with Steam OSS enabled

3. Call GetLinkedAccountAuthToken with InTokenType=WebAPI

4. See that the Delegate is never called

adding

		else
		{
			Delegate.ExecuteIfBound(LocalUserNum, false, FExternalAuthToken());
		}

Would correctly make it fail as expected.

Steps to Reproduce

Hi,

This is a known issue with the Steam OSS’s GetLinkedAccountAuthToken function: Unreal Engine Issues and Bug Tracker (UE\-330775)

This should be fixed in 5.8, with CL 47737202 in UE5/Main.

Thanks,

Alex