我最近一直在使用ASP.NET MVC5和新的OWIN身份验证中间件。 我希望我的用户使用他们的Steam帐户和密码登录。用户成功登录后,我只需要Steam帐户ID进行进一步处理。 Steam可以充当OpenId Provider as stated in the documentation。
在MVC4中,我会implement a custom OpenIdClient。在我看来,在MVC5中,OpenIdClient类已被删除,并且使用IAppBuilder类配置了身份验证,该类提供了使用Facebook,Google和其他预定义提供程序登录的方法。
不幸的是,我无法找到有关将自定义提供程序插入新身份验证系统的任何文档。你能给我任何指示或参考吗?
答案 0 :(得分:16)
这是@Buzinas提供的赏金的答案。
此解决方案将使用可用的NuGet软件包Owin Security Providers here。
转到程序包管理器控制台(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
答案 1 :(得分:2)
文档仍然有点稀疏。一种选择是复制粘贴类似的现有提供程序并根据需要进行调整。
Recommended way to implement custom authentication provider for owin authentication