我一直在考虑制作一个 Windows 8 Metro (WinRT) 风格的应用程序,允许用户使用 Steam WebAPI 登录/验证,这样我就可以使用他们提供的统计信息等。但是我不确定如何解决这个问题。
几乎每个针对 OpenID 提供程序进行身份验证的答案都说要使用DotNetOpenAuth,但是当使用 NuGet 安装它时,它会说依赖项(CodeContracts.Unofficial 1.002)没有任何与我的项目目标(.NET 框架 4.5)兼容的程序集,所以我我猜测要么尚未针对 Windows 8 应用程序进行更新,要么不会由于某些 WinRT 限制。
我还研究过使用 .NET 库的WebAuthenticationBroker类,但我不确定如何将它与 OpenID 提供程序一起使用。它的示例似乎仅适用于 OAuth,并且在Steam WebAPI 页面上提供的唯一信息是:
只需为您选择的语言和平台下载 OpenID 库,并使用http://steamcommunity.com/openid作为提供程序。返回的 Claimed ID 将包含用户的 64 位 SteamID。
我尝试通过直接传递给定的 URL 来简单地使用它,AuthenticateAsync(WebAuthenticationOptions, Uri);
但这只会给出一个带有微调器的白屏。
关于如何让 OpenID 库与 Metro 应用程序一起工作,或者如何使用 WebAuthenticationBroker 通过 OpenID 协议进行身份验证(最好专门针对 Steam),是否有人对我有任何建议?