@@ -227,24 +227,43 @@ public CompletableFuture<SelfUser> getCurrentUser() {
227227 @ Override
228228 public CompletableFuture <AuthResponse > auth (String login , pro .gravit .launcher .core .api .method .AuthMethodPassword password ) {
229229 return microsoft .auth (login , password ).thenCompose (response ->
230- base .restore (response . authToken (). getAccessToken () , true )
230+ base .restoreFromExternal (response , true )
231231 .thenApply (user -> new AuthResponse (user == null ? response .user () : user , response .authToken ())));
232232 }
233233
234234 @ Override
235235 public CompletableFuture <AuthToken > refreshToken (String refreshToken ) {
236236 return microsoft .refreshToken (refreshToken ).thenCompose (token ->
237- base .restore ( token . getAccessToken ( ), false ).thenApply (user -> token ));
237+ base .restoreFromExternal ( new AuthResponse ( null , token ), false ).thenApply (user -> token ));
238238 }
239239
240240 @ Override
241241 public CompletableFuture <SelfUser > restore (String accessToken , boolean fetchUser ) {
242- return base .restore (accessToken , fetchUser );
242+ return microsoft .restore (accessToken , fetchUser ).thenCompose (token ->
243+ base .restoreFromExternal (new AuthResponse (null , new MicrosiftBridgedRestoreAuthToken (accessToken )), false ).thenApply (user -> token ));
243244 }
244245
245246 @ Override
246247 public CompletableFuture <Void > exit () {
247248 return base .exit ().thenCompose (result -> microsoft .exit ());
248249 }
250+
251+ public record MicrosiftBridgedRestoreAuthToken (String token ) implements AuthToken {
252+
253+ @ Override
254+ public String getAccessToken () {
255+ return token ;
256+ }
257+
258+ @ Override
259+ public String getRefreshToken () {
260+ return null ;
261+ }
262+
263+ @ Override
264+ public long getExpire () {
265+ return 0 ;
266+ }
267+ }
249268 }
250269}
0 commit comments