在ASP.NET MVC5中使用Steam登录

Sha*_*les 5 authentication steam owin asp.net-mvc-5

我最近一直在玩ASP.NET MVC5和新的OWIN认证中间件.我希望我的用户使用他们的Steam帐户和密码登录.用户成功登录后,我只需要Steam帐户ID进行进一步处理.如文档中所述, Steam可以充当OpenId提供程序.

在MVC4中,可以实现自定义的OpenIdClient.在我看来,在MVC5中,OpenIdClient类已被删除,并且使用IAppBuilder类配置了身份验证,该类提供了使用Facebook,Google和其他预定义提供程序登录的方法.

遗憾的是,我无法找到有关将自定义提供程序插入新身份验证系统的任何文档.你能给我任何指示或参考吗?

And*_*ndy 16

这是@Buzinas提供的赏金的答案.

该解决方案将使用此处提供的NuGet软件包Owin Security Providers .

转到程序包管理器控制台(Tools -> Library Package Manager -> Package Manager Console)并安装上述程序包:

Install-Package Owin.Security.Providers
Run Code Online (Sandbox Code Playgroud)

在你App_Start\Startup.Auth.cs添加正确的using声明.对于Steam,你想要的

using Owin.Security.Providers.Steam;
Run Code Online (Sandbox Code Playgroud)

旁注,有几种选择,所以这个包不仅适用于Steam. Owin.Security.Providers

ConfigureAuth方法中,添加app.UseSteamAuthentication("<<API KEY>>");

<<API_KEY>>应该用从Valve收到的API密钥替换