6

我一直在考虑制作一个 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),是否有人对我有任何建议?

4

1 回答 1

1

http://steamcommunity.com/dev这说你必须使用 OpenID 但似乎 openID 的 C# 库不适用于 .Net 4.5。

您可以创建一个 C++ dll 窗口商店应用程序项目并使用 OpenID C++ 来完成这项工作。比将该 dll 添加到您的 C# 窗口商店应用程序。

于 2012-10-11T15:35:13.343 回答