private async Task<MobileServiceUser> singleSignOnAuthenticate2() { LiveAuthClient liveIdClient = new LiveAuthClient("https://debtor.azure-mobile.net/"); var reqs = new[] { "wl.signin", "wl.basic", "wl.offline_access"}; MobileServiceUser user = null; LiveLoginResult init = await liveIdClient.InitializeAsync(reqs); if(init.Status != LiveConnectSessionStatus.Connected) { LiveLoginResult logStatus = await liveIdClient.LoginAsync(reqs); if (logStatus.Status == LiveConnectSessionStatus.Connected) { session = logStatus.Session; user = await App.MobileService.LoginAsync(session.AuthenticationToken); } } return user; }
// Normal Auth private async Task<MobileServiceUser> authenticate2(bool singleSignOn) { LiveAuthClient liveIdClient = new LiveAuthClient("https://debtor.azure-mobile.net/"); var reqs = new[] { "wl.signin", "wl.basic", "wl.offline_access" }; LiveLoginResult init = await liveIdClient.InitializeAsync(reqs); if (init.Status != LiveConnectSessionStatus.Connected) { try { await App.MobileService .LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount, singleSignOn); } catch (InvalidOperationException) { } } return App.MobileService.CurrentUser; }