在ASP5中实现OpenID

时间:2015-06-28 16:00:02

标签: c# asp.net-mvc asp.net-core-mvc

我试图将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请求?文档似乎不存在于此库中(当然,典型的是测试版)并且示例很少。

1 个答案:

答案 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提供程序。