public async Task <bool> Login(string username, string password) { LastResponse response = await Client.Auth.GetSessionTokenAsync(username, password); if (response.Success) { LastUserSession us = Client.Auth.UserSession; var userResponse = await Client.User.GetInfoAsync(us.Username); LastUser user = userResponse.Content; if (user != null) { //MessageDialog md = new MessageDialog($"Welcome, {user.FullName}"); //await md.ShowAsync(); ApplicationSettings.LastFmSessionToken = us.Token; ApplicationSettings.LastFmSessionUsername = us.Username; ApplicationSettings.LastFmSessionUserImageUri = user.Avatar.Large.AbsoluteUri; this.Connected?.Invoke(user); } } return(response.Success); }
private void SaveSession(LastUserSession session) { var json = JsonConvert.SerializeObject(session); var settings = ApplicationData.Current.LocalSettings; settings.Values[LastFMSessionKey] = json; }
/// <summary> /// Logs the given <paramref name="usr"/> in. /// </summary> /// <param name="usr">User to log in.</param> private void LoginUser(User usr) { var session = new LastUserSession() { Username = usr.Username, Token = usr.Token, IsSubscriber = usr.IsSubscriber }; if (_lastAuth.LoadSession(session)) { ActiveUser = usr; } }
public async Task <LastResponse> GetSessionTokenAsync(string username, string password) { var command = new GetMobileSessionCommand(this, username, password); var response = await command.ExecuteAsync(); if (response.Success) { UserSession = response.Content; return(LastResponse.CreateSuccessResponse()); } else { return(LastResponse.CreateErrorResponse <LastResponse>(response.Error)); } }
/// <summary> /// Logs the given <paramref name="usr"/> in. /// </summary> /// <param name="usr">User to log in.</param> private void LoginUser(User usr) { var session = new LastUserSession() { Username = usr.Username, Token = usr.Token, IsSubscriber = usr.IsSubscriber }; if (_lastAuth.LoadSession(session)) { ActiveUser = usr; usr.UpdateRecentScrobbles().Forget(); } }
public async Task <LastResponse> GetSessionTokenAsync(string authToken) { var command = new GetSessionCommand(this, authToken) { HttpClient = HttpClient }; var response = await command.ExecuteAsync(); if (response.Success) { UserSession = response.Content; return(LastResponse.CreateSuccessResponse()); } else { return(LastResponse.CreateErrorResponse <LastResponse>(response.Status)); } }
public virtual void Initialise() { var testApiKey = "59dd1140db864fd4a68ca820709eaf98"; var testApiSecret = "fa45357dcd914671a22def63cbe79a46"; var testUserSession = new LastUserSession { IsSubscriber = false, Token = "071a119a9aac4942b1b05328a5591f55", Username = "******" }; MockAuth = new Mock <ILastAuth>(); MockAuth.SetupGet(m => m.Authenticated).Returns(true); MockAuth.SetupGet(m => m.ApiKey).Returns(testApiKey); var stubAuth = new LastAuth(testApiKey, testApiSecret); stubAuth.LoadSession(testUserSession); MockAuth.Setup(m => m.GenerateMethodSignature(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >())) .Returns <string, Dictionary <string, string> >((method, parameters) => stubAuth.GenerateMethodSignature(method, parameters)); FakeResponseHandler = new QueueFakeResponseHandler(); Scrobbler = GetScrobbler(); }
/// <summary> /// Load an existing user session /// </summary> /// <param name="session">Session to load</param> /// <returns>Whether session object is valid</returns> public bool LoadSession(LastUserSession session) { UserSession = session; return(true); }