使用Live SDK登录Microsoft帐户

时间:2014-11-01 22:19:15

标签: c# windows-store-apps single-sign-on azure-mobile-services live-sdk

我正在创建一个Windows 8.1应用程序,我想将它用于多个帐户。当我第一次启动应用程序时,我使用wl.signin范围来更快地测试应用程序,但我想现在使用其他帐户进行测试。所以我删除了这个范围,我从我的计算机上卸载了应用程序,并从我的真实帐户中删除了应用程序权限。

但是,如果我想第一次登录,应用程序需要自动登录权限(== wl.signin,我已经按照我之前提到的那样从我的范围中删除了)。

基本上,我希望每次想要使用应用程序时都能写入我的用户凭据,以便我可以使用其他帐户登录。

以下是登录代码:

LiveLoginResult result = await App.Auth.InitializeAsync(new string[] { "wl.basic" });
if (result.Status != LiveConnectSessionStatus.Connected)
    result = await App.Auth.LoginAsync(new string[] { "wl.basic" });

if (result.Status == LiveConnectSessionStatus.Connected)
{
    await App.MobileService.LoginWithMicrosoftAccountAsync(
        result.Session.AuthenticationToken);
    App.Lcs = result.Session;                    
}
else
{
    await dialogService.ShowMessage("Not logged in.", "Error!");
}

如果我尝试注销,则CanLogout始终返回false值。

if (App.Auth.CanLogout)
{
    App.Auth.Logout();
    navigationService.NavigateTo("MainPage");
}

我在这里缺少什么?也许范围缓存在其他地方?如果我使用Microsoft帐户的操作系统,这可能是一个问题吗?或者,如果我将应用程序与Visual Studio的商店应用程序相关联?

1 个答案:

答案 0 :(得分:2)

LiveSdk无法实现。因为LiveSdk使用系统中的帐户信息。一次使用少量帐户的唯一方法是通过LIVE REST API开发自己的SDK(如内部的LiveSDK)。