Ted*_*sen 25 saml-2.0 asp.net-core
我正在尝试将SAML 2.0身份验证添加到ASP.Net Core解决方案.我找不到关于这个问题的任何文件,所以我不确定从哪里开始.可能有文档,但我不想花3天时间成为这方面的专家.
从我所看到的ASP.Net Core已经从旧的OWIN程序集/命名空间改变了一些东西.有第三方库可以简化SAML 2.0实现,例如Kentor.AuthServices.
我不确定如何将其与ASP.Net 5 RC 1/ASP.Net Core结合使用.例如,在SQL中使用AspNet*表.
ASP.Net 5 RC 1附带了几个库来实现身份验证(客户端).
例如:
实现这些是在Startup.cs以下方法中调用简单扩展方法的问题:
app.UseIdentity()
.UseFacebookAuthentication(new FacebookOptions
{
AppId = "ID",
AppSecret = "KEY"
})
.UseGoogleAuthentication(new GoogleOptions
{
ClientId = "ID",
ClientSecret = "SECRET"
})
.UseTwitterAuthentication(new TwitterOptions
{
ConsumerKey = "KEY",
ConsumerSecret = "SECRET"
});
Run Code Online (Sandbox Code Playgroud)
完成后,ASP.Net示例项目会自动显示登录/管理帐户的社交按钮:
在后端代码中,使用检索身份验证提供程序var otherLogins = _signInManager.GetExternalAuthenticationSchemes().Where(auth => userLogins.All(ul => auth.AuthenticationScheme != ul.LoginProvider)).ToList();.这意味着身份验证提供程序已在某个地方注册,通过调用使其可用_signInManager.GetExternalAuthenticationSchemes().
如何在ASP.Net 5 RC1/ASP.Net Core中实现SAML 2.0身份验证?
And*_*bel 10
据我所知,ASP.NET Core没有SAML2实现.我打算为Kentor.AuthServices(我是维护者)制作一个ASP.NET核心中间件,但它只是计划.
现在有一个ASP.NET核心中间件的工作原型,网址是https://github.com/KentorIT/authservices/pull/489.添加测试后,它将包含在官方发布中.
同样重要的是要知道,虽然这样的中间件与ASP.NET核心安全模型兼容,但它只能在完整的.NET Framework上运行,而不能在.NET Core上运行.原因是在.NET Core中尚未提供SignedXml和System.IdentityModel中的SAML2支持.
这可能基本上是 Anders Abel 答案的更新版本,但是:
我使用了https://github.com/Sustainsys/Saml2。他们有一个名为“Sustainsys.Saml2.AspNetCore2”的 nuget 包,下载量为 36k。
他们有一个有用的示例 .net 核心应用程序使用它也使用 .net 核心身份在这里:https : //github.com/Sustainsys/Saml2/tree/master/Samples/SampleAspNetCore2ApplicationNETFramework(看看他们startup.cs和他们的外部登录有关实施细节的剃刀页面)。
他们还在此处托管了一个不错的 IdP 测试:https : //stubidp.sustainsys.com。这样,您可以确认您的应用程序的 ACS(断言消费者服务)端点与您的登录页面等一起工作。
他们在 github 上提到:“该库以前名为 Kentor.AuthServices。”
| 归档时间: |
|
| 查看次数: |
18523 次 |
| 最近记录: |