在 ASP.NET MVC5 中使用 Steam 登录
Posted
技术标签:
【中文标题】在 ASP.NET MVC5 中使用 Steam 登录【英文标题】:Login with Steam in ASP.NET MVC5 【发布时间】:2013-10-28 22:36:20 【问题描述】:我最近一直在玩 ASP.NET MVC5 和新的 OWIN 身份验证中间件。 我希望我的用户使用他们的 Steam 帐户和密码登录。用户成功登录后,我只需要 Steam 帐户 ID 进行进一步处理。 Steam 可以充当 OpenId 提供者as stated in the documentation。
在 MVC4 中,可以使用 implement a custom OpenIdClient。在我看来,在 MVC5 中,OpenIdClient 类已被删除,并且使用 IAppBuilder 类配置身份验证,该类提供了使用 Facebook、Google 和其他预定义提供程序登录的方法。
很遗憾,我找不到任何有关将自定义提供程序插入新身份验证系统的文档。你能给我任何指示或参考吗?
【问题讨论】:
【参考方案1】:这是对@Buzinas 提供的赏金的回答。
此解决方案将使用 here 提供的 NuGet 包 Owin Security Providers。
转到包管理器控制台 (Tools -> Library Package Manager -> Package Manager Console
) 并安装上述包:
Install-Package Owin.Security.Providers
在您的 App_Start\Startup.Auth.cs
中添加正确的 using
语句。对于 Steam,您想要
using Owin.Security.Providers.Steam;
旁注,有几个选项可用,所以这个包不只是用于 Steam。
在ConfigureAuth
方法中,添加app.UseSteamAuthentication("<<API KEY>>");
<<API_KEY>>
应替换为您从Valve 收到的 API 密钥
【讨论】:
酷,我去年问这个问题时肯定不存在。很高兴看到同时添加了几个提供程序。我会将此标记为答案。【参考方案2】:文档仍然有点稀疏。一种选择是复制粘贴类似的现有提供程序并根据需要进行调整。
Recommended way to implement custom authentication provider for owin authentication
https://katanaproject.codeplex.com/SourceControl/latest
【讨论】:
以上是关于在 ASP.NET MVC5 中使用 Steam 登录的主要内容,如果未能解决你的问题,请参考以下文章
在 asp.net MVC5 EF6 中使用流利的 api 映射表?
在 ASP.NET MVC5 中使用文本框值添加更多日期时间值