关于您的要求“我有兴趣验证用户正在使用我的 Windows 8 应用程序,而不仅仅是一些使用 Fiddler 的‘黑客’。”,我不确定您会尝试保护您的应用程序的深度,就好像其他人想尝试使用一样您的应用程序不同,它们会找到自己的方式,如果您认为使用 ACS 或 LiveSDK 会增加任何安全性,我不这么认为。
ACS 或 LiveSDK 服务是对特定用户进行身份验证然后允许他们使用您的应用程序的方法。一旦将有关特定用户的身份验证令牌提供给您的应用程序,并且您无法保存并再次验证该信息,那么在您的应用程序中使用基于 ACS/LiveSDK 的身份验证与不使用它没有区别。这些基于 oAuth 的服务只是对用户进行身份验证的一种方式,您仍然需要编写额外的代码层来提供用户特定的服务。
无论您使用 ACS/oAuth/ 还是您自己的会员服务,用户都必须不时输入用户名和密码才能获得身份验证。根据登录时间和类型,您可以让用户在实时会话中保持活跃 x 时间,但是会话将过期,用户必须输入用户名和密码。将用户名和密码存储在本地以避免再次输入凭据不是一个好的应用程序设计。
现在关于您的第一个问题,您应该使用 LiveSDK(不是 Azure ACS)对 Live(Hotmail、Live、Skydrive 和 Outlook 域)用户进行身份验证,因为在 Windows 8 中,大多数服务都使用这些 ID,因此使用其中一个将帮助您申请成为同一生态系统的一部分。您可以使用这个最新的文档在您的应用程序中使用 Live SDK。如果您将在 Windows 8 应用程序中使用 Live SDK,并且用户在 Windows 8 上为他们的其他应用程序使用相同的 Live ID 并在您的应用程序之前登录,则您的应用程序将已经有一个实时会话可以使用它,具体取决于 Live ID 和应用程序设置.
关于您的第二个问题“加密并存储用户的登录详细信息以防止用户每次都必须输入登录详细信息?” 我不确定你为什么需要它。首先,除了用户名之外,没有 oAuth 服务会为您提供用户登录凭据,您可以保存该凭据以在用户再次访问时验证用户,并且您可以使用该凭据来确保它是正确的用户。您必须需要将此信息存储到云中,然后一旦通过身份验证,就可以做任何您想做的事情。