我试图将Steam OpenID集成实现到ASP5 / MVC6站点。现有的OpenID库不能与ASP5一起使用,因为它们似乎依赖于HttpContext,而HttpContext并不存在。
这是我能找到的唯一兼容库:
"Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-beta4",
我在Startup.ConfigureServices中配置了它,如下所示:
public void ConfigureServices(IServiceCollection services)
{
..
services.ConfigureOpenIdConnectAuthentication(options =>
{
options.Authority = "http://steamcommunity.com/openid";
options.ClientId = "[ClientIDHere]";
});
}
并在Startup.Configure中:
app.UseOpenIdConnectAuthentication();
我真正的问题很简单,如何在我的应用程序中实际使用这个库来创建OpenID请求?文档似乎不存在于此库中(当然,典型的是测试版)并且示例很少。
答案 0 :(得分:1)
更新:ASP.NET 5的Steam身份验证提供程序现已联机。您可以访问https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers了解详情。
可悲的是,Steam依赖于OpenID 2.0,它不支持(也不会支持)ASP.NET 5.本机,只支持OAuth2和OpenID Connect(基于OAuth2而不支持OpenID 2.0 )受ASP.NET 5附带的默认身份验证中间件支持。
我猜您之前使用过社区开发的OWIN / Katana Steam提供程序:https://github.com/RockstarLabs/OwinOAuthProviders/tree/master/Owin.Security.Providers/Steam
大多数这些提供商(基于OAuth2)将作为aspnet-contrib
项目的一部分进行移植:https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers。
移植OpenID 2.0提供程序不在眼前的计划中,但您可以在https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers/issues上打开一个新主题并投票给Stream提供程序。