FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    The current pre-release of the client ("pioneer" in the version) is only compatible to itself. So you can only play with other testers. Please be aware!

    Token Retrieval Exception During Login (Client v2025.2.1)

    Scheduled Pinned Locked Moved I need help
    1 Posts 1 Posters 78 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      Raysor
      last edited by

      Hi everyone,

      I just wanted to report the exact error I'm currently getting when trying to log into FAF, in case it helps the dev team with debugging. I’ve seen the announcement acknowledging the login issues and that the team is already working on it, so this post is just to provide additional details for reference.

      Client Version: 2025.2.1
      com.faforever.client.login.TokenRetrievalException: <!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="360"></head><body><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "hydra.faforever.com",cType: 'non-interactive',cRay: '94233e1a3be752de',cH: 'bYfaloKRCemWR1cZQtiIvBNqJYzs.NmqPCeXEQ.aJdA-1747654020-1.2.1.1-McQ45TnO8FiBm0sPKfF1wVEkUbaggPkIYv6Q7kYcv6DTg5kUWu_N0_czCMmewuxe',cUPMDTk: "\/oauth2\/token?__cf_chl_tk=ytdn9ABBRcc7HW0gQbzTyfWs2iGMN4m3xcUHJSlFumY-1747654020-1.0.1.1-atDDa.tcVS8gQwQ04l9JuCh2DACiIe0XqNOyt7aZLhk",cFPWv: 'g',cITimeS: '1747654020',cTplC: 0,cTplV: 5,cTplB: 'cf',fa: "\/oauth2\/token?__cf_chl_f_tk=ytdn9ABBRcc7HW0gQbzTyfWs2iGMN4m3xcUHJSlFumY-1747654020-1.0.1.1-atDDa.tcVS8gQwQ04l9JuCh2DACiIe0XqNOyt7aZLhk",md: "sDsRNetzLfjfu22_hVbzu6WtJVFZB_cg34qbWsXUbGo-1747654020-1.2.1.1-_D0CMzmjWd_t4iXX2D4tUVctw1DF4SoBYh7HK.qCU42GEwV6_xdwZ0abBumluHHBjQ7MGvzHiqjYedQ17HKiqG1KUWCttikJrebrq.nMThx9j.iXoKLJpEqZCUvHWyv1BJC55zuNhKpLj4CC4trsrCOawnLpTroDt3k_TM364GxU2GRir7CeYBWkXtR9Zbf29tCD7AacyBQb9bHxXJLVXlCMv.uELKdTbH.sliOLjJUxYsEKBJ13WrXFvqMP7QundFfdQX.aaxV_USLJyBq5BrNHnI4VTnlbhhbejRySxVpYwS5Kstu43VXG.obRBIppt8do5qZ6fXoy8QIDN0n6OMf_0sBlNT0H2zHf.zTy6mAw7gNWL6FbZFnyRvd1jrvD8.Y0BK6LxAzeX9kpuC3QyDBw7BDPU9a_Ai6h5f5GQLzE4CwF5aQ9PggI4OFsA.4zrQA5WnMqSwczmZJHgEVAoEOF4cfV2b_N6nE._tsOrVHWuOO.WNlxu70pI4z9GOUkeTlPHmrStZcbYgveEwyZS.QPcj0WV_NHWpTh0H48VADgKkSRE64sj1eSjbDIG04mzb_D6ADz90pRF.uIRQd_.H_KzeieHvrdcj6o.r9NRcE6bM.ZZQVv_xhjTqPg1qqZ1.bEgJLYxRAblQelDsH13RwW3aq_AlHSMO32miW853tGya_nHtrKn6QmuBsmotR0KLHmEqjdUjzq3pJWnbJltRsn8WWKK2GI8NXn8ZZMyNGdYkvT2S6n3dTmQHGIASX5zjWy08T228XcEf1aH3Va5LhfjtcmUrae4PkV4trdqKXRetBYC2.WjHQW25ZCmNKGq11JeMYKQoCaCInYmCA_RZQbbf41hEEeBJzzlX5AmynATqKISEpiUHtGO.hJ1YIkiE6XZMuQ8jsvuzCwfI2.vM7N8KITEhELLLymuVpvTik",mdrd: "qMnqhUpsG0DLutuP6jQiqzmgJgQC_xLQnNVVogX1ES4-1747654020-1.2.1.1-5m3KmrXSjSeoGWn1l6QlkcqdVwX7fxE9UXCoLsxZjUGzriWs0Nr7naAEtu1LZsfxIao7fokbFOHPhAukU_wFZMzM2DMlECDmXonvngPruDMkClrFa9Uv0wcE_GYDhDXX7NnwqwDMO2hz3ZL8rIqvxnVcu4HU2nXzMA01exJ5GkjykYXT9RwRj4EP0RXJuUpyFuMz.KiZPPmy5YDdEJz61TSMqPEyqz5z4ozecpr1zeqdBsgDF4XOF3pEKInMLnP0AmJBRXTg.n.90slK8XVkSdetw3RYEAOZybJtqJrI6nMlqD8k0_6uqRO2NHPJB7udjW7_lQ3JQamkY1e8WaUVdXEkU4oJEGIC6iLIJ5FYYdXb5NwgvtqrBHpsTld9u076i3lYvgfbZn9BKgYeuT8A09E7L82yW0cA1HOt8h_bIZj9kL3BgEA2SaUP002xrS5gWUw30ko7stufDtBbrOdmKuziQ4Wjb4oZ_d870Nfcrg2QUBLZVPhQ9KRBehili736WHZtHJvfyb5g2pYJfm7SiJ7L35eLmlZiwJ4Aqiy8spmZaY9ckMIbxg2ChFZwlxECelSXZQCfuyiCE9UvafdS154hlE.xefjo4ePR3GfwFT6KBPt58aQdFdpRxx1ConABmqxt2a6GUnPA_X8KSQjHmbzrDNMK6h8941kvXbPBlxGcqGv.2PqaG6LKUf0ZFa.5.42hZ5Aa0Eo75m2RDzfipPTauVxQKGWhGOiKlSQ3sRVrlQcfP71EgldTh_t6Grr8D.CEpeSCsSDSgy2wU.wOfAx7DRfkB90wUeZzy6nczGQtcoOmNlhfYyTdu07yI5y.Ug3DvF8DUImQSpHGmjJvh9zdSGq2HEcZnESQysjqrToqvBukeSCpLt3uGJD2qRZBAantkkCahdvqHrL3mp_yIB9ghQwlxJGjAs03hkM1iF.UUMtHdW9St1BrKuW_OIsO_C2gj7rjHdTlazMdewT48I1Fv.0Gnk7TAOsYEOQzykhG3lyTV8Pi13Gu2Sne3LrKoGVIQSHAW_uOEC7c6mHKn3ohVamCm3NxIPrgtiLCelHHNt_4i6vvqZqLWnwa7DGr267BodZ9X70KxqwxNp.UAPQXY0RLZtEt.O3MIzU4apkEk8fiReR2xq11YF88_9i9KKzkttxanOUJju1A1BZaIRQwibRvjvwxL3yYzMg25IInL3hB7ww7GK9SM6h7tnOhuacNoP9lygRbFe8TEMo4iSlSrj5tRc3mIMO9StlmdaHeMj8WvxGVFAM.2uZk.GUucBkh3gmY6iz7wVCUHzD56Z4Qb0khS8LuQajOgIYSwe8qFYJTqdI.uwNqj4A1tWLSFxnHtgtdiUdvzQ_PZpDfyPQfU.U.RiKEVSJMNfJPja0RRXMR77hOvqEOA7wpuHWnPRis5RxXq0Q98hYfa3Ul51REYU4wwa9Gn1SK7PwxymapCLJJgsB3zIoYWuKmnQcuP4_MzHua5Qn05hsXLuOKuL2tncmMv_vYBTy.A2G7AjlTB3GqtNy75HSR2C0jnxNMqWrpp6F4b5iXrB74HOAE4Zyat9dfJ2t78VKYJM3ZPXyw.61yftqgxP9DOJAX3PJmY2epd0S5fYC3xo3MSa7Y0CmUpJ0n3COP6GYpQUfaXGo4mrli8IGs1F81I9ugmOvAAd6O0Edh.Wr8.o_UCqT8_SMQDo_BI3nOu45GAoYdEjx9H7DSkcdYTA2oWq1cerJQxNPXd4VndP5t3mXGRcT7XzPKgBKdZg1Vb4xglmB46lC8EqeyjZ7RjDWIX4FlFhPXSj0YRDTMIRgy7NngO_EyVE2x5UEGmo5sDrQaSVFebFJVjQST3gQo6twsEZ2_3jeDeYgATYeXfz_pFNo8kaoXb2rWEvn1hA.V1GQDtieT6w2xPpC3JjDFfocOJY89E8XupnG3X9Z9dnnAMOmZO02IvQFaX8_secrjVK3M8Fqge5MgVmEl6iYgYwrgpUCTqsQj1OHAWfPzMqW0eKbKuKNWvKAFAwvk5.RKJsBPx6yQOdaVdevRBck.O.JW3zqNfwf8IhvTcTeJz9aGaCr78qte3nbKj9qs2fDotMCch9B5.DTL_LBR7o.vu4VWVcTtEiQ9KHb0.vLV4bIGKkSIsqJPgQSQMwzB0OF6yrT_J_aONWw1gzFByjdYuXbeIj.IXLVIyD1rnlrnRS.vN1_f12XELfEWgAdn1kho.e6B..YvRhP37vmLVRB8.ajrIjrYpaMFSAGrYb64eKNExCEWmXwQjT8vLlov45rYEehas7LFbAi7Xxupkc.2A5uCS.hT7.m5othvVHZJJQBcs0KKlobBxxcGVZbMU6cPXT8iOvzyXL4f4GUMwNazsWbWdM_B83UJv15IZ7M5FQI1497BwrbDWGQf0aPmUne4L96VFtHKbwDlkVUwS5oyMDtVM2pTOZNmS9aYCgalatFgRfLaLBiejiIdjegM9zAiKBcnN.vRykjTID4Wdm8kr.29.1DRD14I8Tr3JD6gpC3wCDzS_u8YvrbwQL2iGjWkZDEL1Xqry7fDu.Ehr4R.9I9abWu7oJmVf00VTSdawby0h1JJMKS0fLO3hcYbHGQKyiBimHbPr.skf2thMIs1qSXllQhiO7jC26K2KyRe9LnjYR7OwstFziYWw1gW3MgWAXwgg1jMEItkdkjZAT0Z97S._1mpR_.cz7WgYdJjBuqAqs4iENljmB381xEUjCgYTGyrVZy2ItEqUrPt0Sw1nGcRL34.L4j6ZN46PizroDW58MGpM4xXCfn18r._uMqpRjjwrTa4owEpvmZhqr8RDoOnJLSaskFhKZA44GfqKeGUp4JdlEGFNdpDme0XBEVQfYPEo6vUicTFPxcGvK_JOs4O2OyffJ79OHu0osOEd2_l2t.VrrlshMaaTH2auqxTNSB4yVHhJ_spStSoDH3i7.kH2exW8hM8VGUYAOAjW6GXvjYkf3kTfg"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=94233e1a3be752de';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/oauth2\/token?__cf_chl_rt_tk=ytdn9ABBRcc7HW0gQbzTyfWs2iGMN4m3xcUHJSlFumY-1747654020-1.0.1.1-atDDa.tcVS8gQwQ04l9JuCh2DACiIe0XqNOyt7aZLhk" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>
      	at com.faforever.client.api.TokenRetriever.lambda$retrieveToken$1(TokenRetriever.java:110)
      	Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: 
      Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
      	reactor.core.publisher.Mono.flatMap
      	com.faforever.client.api.TokenRetriever.lambda$retrieveToken$2(TokenRetriever.java:110)
      Error has been observed at the following site(s):
      	*________Mono.flatMap ⇢ at com.faforever.client.api.TokenRetriever.lambda$retrieveToken$2(TokenRetriever.java:110)
      	|_       Mono.flatMap ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultRequestBodyUriSpec.lambda$exchangeToMono$3(DefaultWebClient.java:424)
      	|_ Mono.switchIfEmpty ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultRequestBodyUriSpec.lambda$exchangeToMono$3(DefaultWebClient.java:425)
      	|_ Mono.onErrorResume ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultRequestBodyUriSpec.lambda$exchangeToMono$3(DefaultWebClient.java:426)
      	*___________Mono.then ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient.releaseIfNotConsumed(DefaultWebClient.java:197)
      	|_                    ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultRequestBodyUriSpec.lambda$exchangeToMono$2(DefaultWebClient.java:426)
      	*________Mono.flatMap ⇢ at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultRequestBodyUriSpec.exchangeToMono(DefaultWebClient.java:421)
      	|_ Mono.doOnSubscribe ⇢ at com.faforever.client.api.TokenRetriever.retrieveToken(TokenRetriever.java:115)
      	|_      Mono.doOnNext ⇢ at com.faforever.client.api.TokenRetriever.retrieveToken(TokenRetriever.java:116)
      	|_           Mono.map ⇢ at com.faforever.client.api.TokenRetriever.retrieveToken(TokenRetriever.java:120)
      	|_      Mono.doOnNext ⇢ at com.faforever.client.api.TokenRetriever.retrieveToken(TokenRetriever.java:121)
      	|_          Mono.then ⇢ at com.faforever.client.api.TokenRetriever.loginWithAuthorizationCode(TokenRetriever.java:73)
      	*___________Mono.then ⇢ at com.faforever.client.user.LoginService.login(LoginService.java:70)
      	|_                    ⇢ at com.faforever.client.login.LoginController.loginWithCode(LoginController.java:278)
      Original Stack Trace:
      		at com.faforever.client.api.TokenRetriever.lambda$retrieveToken$1(TokenRetriever.java:110)
      		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
      		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
      		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
      		at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
      		at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
      		at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337)
      		at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097)
      		at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145)
      		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
      		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
      		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
      		at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:413)
      		at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:455)
      		at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:509)
      		at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:819)
      		at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      		at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
      		at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
      		at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
      		at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
      		at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      		at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
      		at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1515)
      		at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1378)
      		at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1427)
      		at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
      		at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
      		at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      		at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
      		at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      		at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
      		at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
      		at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
      		at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
      		at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
      		at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
      		at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
      		at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
      		at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      		at java.base/java.lang.Thread.run(Thread.java:1583)
      
      1 Reply Last reply Reply Quote 0

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      • First post
        Last post