Why the Epic Online Service (EOS) OSS access token is not refreshed?

I found an occurence where the EOS OSS’ IdentityInterface does not return a correct access token (expired).

  • I used (IdentityInterface->GetAuthToken(...)) to get the token.
  • I created a scheduler run each minute to obtain the token and detect whether there is a change or not.
  • The access token expiration is 2 hour. But at the end of the 2nd hour, the scheduler didn’t detect any change of access token.
  • But, at 3rd hour, the scheduler detected a change of access token which is a new token that was refreshed at 2nd hour.

Is this a bug from EOS OSS or EOS SDK?
Any workaround to ensure the GetAuthToken() can obtain an actual token correctly?

Thanks.

1 Like

up

This is a bug that was fixed here: https://github.com/EpicGames/UnrealEngine/commit/bc74b7b927285bb03080cf7727fcfc47469fe2a3

A good approach if you want to see if an issue is fixed in later versions of UE is to:

  1. Navigate to the API with an issue. Make sure you are in the ue5-main branch.
  2. Check the Git Blame (you can toggle from code to blame at the top of the code in GitHub)
  3. If there is a change after the version you currently have, look at the change to see what the fix was and in what version.

Be careful with this, I tried to implement code changes from this commit in my 5.1 plugin version and I started to get crashes on dedicated server with an error of NetIds not being of EOS type. NetIds were valid, btw

[2026.02.16-20.22.33:170][603]LogCore: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2026.02.16-20.22.33:171][603]LogCore: Assertion failed: GetTypeStatic() == NetId.GetType() [File:C:/Users/JediKnight/Documents/Unreal Projects/ECR/Plugins/MyOnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineSubsystemEOSTypes.cpp] [Line: 11]

0x000000000bfae850 ECRServer!FOnlineSessionEOS::RegisterPlayers(FName, TArray<TSharedRef<FUniqueNetId const, (ESPMode)1>, TSizedDefaultAllocator<32> > const&, bool) [C:/Users/JediKnight/Documents/Unreal Projects/ECR/Plugins/MyOnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineSessionEOS.cpp:3061]
0x000000000bfae3b3 ECRServer!FOnlineSessionEOS::RegisterPlayer(FName, FUniqueNetId const&, bool) [C:/Users/JediKnight/Documents/Unreal Projects/ECR/Plugins/MyOnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineSessionEOS.cpp:3043]
0x0000000006596c0e ECRServer!UECRGameInstance::TogglePlayerRegistrationInMatch(FUniqueNetIdRepl, bool) [C:/Users/JediKnight/Documents/Unreal Projects/ECR/Source/ECR/Private/System/ECRGameInstance.cpp:295]