public LoopbackAccessTokenProvider(StreamlabsSettings StreamlabsSettings) { settings = StreamlabsSettings; unitySyncContext = SynchronizationContext.Current; accessTokenRefresher = new AccessTokenRefresher(settings.GenericClientCredentials); accessTokenRefresher.OnDone += HandleAccessTokenRefreshed; authCodeExchanger = new AuthCodeExchanger(settings, settings.GenericClientCredentials); authCodeExchanger.OnDone += HandleAuthCodeExchanged; }
private void HandleAccessTokenRefreshed(AccessTokenRefresher refresher) { if (refresher.IsError) { if (Debug.isDebugBuild) { var message = "UnityStreamlabs: Failed to refresh access token; executing full auth procedure."; if (!string.IsNullOrEmpty(refresher.Error)) { message += $"\nDetails: {refresher.Error}"; } Debug.Log(message); } ExecuteFullAuth(); } else { settings.CachedAccessToken = refresher.AccesToken; HandleProvideAccessTokenComplete(); } }