private async Task OnAuthenticated(IApiClient apiClient,
            AuthenticationResult result,
            ConnectionOptions options,
            bool saveCredentials)
        {
            var server = ((ApiClient)apiClient).ServerInfo;

            var credentials = await _credentialProvider.GetServerCredentials().ConfigureAwait(false);

            if (options.UpdateDateLastAccessed)
            {
                server.DateLastAccessed = DateTime.UtcNow;
            }

            if (saveCredentials)
            {
                server.UserId = result.User.Id;
                server.AccessToken = result.AccessToken;
            }
            else
            {
                server.UserId = null;
                server.AccessToken = null;
            }

            credentials.AddOrUpdateServer(server);
            SaveUserInfoIntoCredentials(server, result.User);
            await _credentialProvider.SaveServerCredentials(credentials).ConfigureAwait(false);

            AfterConnected(apiClient, options);

            OnLocalUserSignIn(options, result.User);
        }
        public void SetAccessToken(string accessToken)
        {
            // This is needed for audioplayer to authenticate itself
            var authInfo = new AuthenticationResult
            {
                AccessToken = accessToken,
                User = LoggedInUser
            };

            _settingsService.Set(Constants.Settings.AuthUserSetting, authInfo);

            AuthenticationResult = authInfo;
        }
 private Task ApiClientOnAuthenticated(IApiClient apiClient, AuthenticationResult result)
 {
     return OnAuthenticated(apiClient, result, new ConnectionOptions(), SaveLocalCredentials);
 }