FOnlineIdentitySteam::GetLinkedAccountAuthToken with "App" token type never clears callback

When we make calls to FOnlineIdentitySteam::GetLinkedAccountAuthToken, each successive call triggers the callback an additional time.

First call: callback happens once

Second call: callback happens twice

Third call: callback happens three times

This seems to be because of this line:

SteamSubsystem->GetEncryptedAppTicketInterface()->OnEncryptedAppTicketResultDelegate.AddLambda([this, LocalUserNum, OnComplete = FOnGetLinkedAccountAuthTokenCompleteDelegate(Delegate)](bool bEncryptedDataAvailable, int32 ResultCode)

OnEncryptedAppTicketResultDelegate is never cleared until the subsystem is destroyed. Is this a bug or are we supposed to be calling it a different way?

Steps to Reproduce

Thanks for the report! This looks like a legitimate bug, one call to GetLinkedAccountAuthToken should result in exactly one callback. We’ll work on a fix for this.

Hi Thomas,

Thanks again for the report, a fix has been submitted to 5.7, P4 CL 45241435, github https://github.com/EpicGames/UnrealEngine/commit/5d419ad837774d559b669d51e2f37499c16ebbd2\.

-Chris