【问题标题】:Windows Live SDK doesn't LogOut()Windows Live SDK 不 LogOut()
【发布时间】:2013-07-19 23:32:36
【问题描述】:

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

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

虽然我将应用程序权限授予sam@email.com,但我想将其更改为janet@email.com,因此我单击了应用程序的Logout 按钮,该按钮从SDK 查询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)不准确。

【问题讨论】:

  • 我同意这是一个好问题 - 如何清除应用程序的会话缓存?

标签: c# windows-8 windows-store-apps windows-live-id


【解决方案1】:

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

【讨论】:

  • 您能否提供有关如何手动删除连接的提示?我去了实时仪表板,但找不到任何方法。
【解决方案2】:

这是预期的行为。请看下面link

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

希望这会有所帮助...

【讨论】:

  • 你可能是对的。但由于商店允许用户注销并以不同的 Microsoft 帐户登录,这似乎不是技术上的不可能。也许它只是与 SDK 相关?
【解决方案3】:

确保您不在您的作用域中使用“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.

【讨论】:

    猜你喜欢
    • 2011-06-19
    • 2023-03-13
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多