在 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 :Attribute路由使用详解

ASP.NET MVC5 实现 SQL 查询工具

在 asp.net MVC5 EF6 中使用流利的 api 映射表?

在 ASP.NET MVC5 中使用文本框值添加更多日期时间值

如何使用trackerenableddbcontext在asp.net mvc5和代码中的实体框架中实现审计跟踪

ASP.NET MVC5学习笔记01