3

Microsoft Live ID 现在称为 Microsoft 帐户。话虽如此,假设我以身份登录 Windows 8sam@email.com并运行应用程序。

该应用程序使用 Live SDK 访问我的 Microsoft 帐户配置文件。但是,在它这样做之前,我必须给予它明确的许可并登录。到目前为止,完美。

尽管我授予了应用程序权限,sam@email.com但我想将其更改为,janet@email.com因此我单击了从 SDKLogout查询的应用程序按钮。LiveAuthClient.CanLogout()令人困惑的是,SDK 返回 false(我无法注销)。

为什么不?当前 Windows 8 用户使用 Windows Live SDK 登录到 Windows 8 应用程序后,他们如何注销(当 CanLogOut() 始终返回 false 时)?是否有设置或允许这样做的东西?

事实证明,这个问题的答案(http://stackoverflow.com/questions/13294496/can-the-windows-8-live-sdk-use-another-microsoft-account-other-than-the-current)是不准确的。

4

3 回答 3

1

这是预期的行为。请查看以下链接

如果用户使用 Microsoft 帐户或连接到 Microsoft 帐户的本地或域帐户登录 Windows 8,则提供自定义注销按钮无效。因此,让用户连接到具有不同 Microsoft 帐户的应用程序的唯一方法是,如果用户没有将他的 Microsoft 帐户与 Windows 8 相关联。

希望这可以帮助...

于 2013-01-30T10:12:14.780 回答
1

检查你的范围。如果您使用wl.signin,则无法再通过代码注销,因为它是单点登录。请尝试wl.basic改用。更多关于范围的信息。当您意外使用时,wl.signin您必须登录仪表板并手动删除应用程序连接。

于 2013-02-01T10:52:22.097 回答
0

确保您不在您的范围内使用“wl.signin”。如果您一直在测试您的应用程序,请进入您的真实帐户的帐户首选项,然后从应用程序的访问权限中删除此选项。现在,这将允许多个用户登录。

    private LiveAuthClient authClient;

private void PhoneApplicationPage_Loaded_1(object sender, RoutedEventArgs e)
{
    this.authClient = new LiveAuthClient("yourclientidhere");
}
then you can call this.authClient.Logout(); when you want to change users.
于 2013-07-19T15:32:36.937 回答