如何为.Net Core应用添加AWS SSO SAML身份验证?
.NET Core配置AWS SSO SAML依赖说明
你当前用于Azure AD SSO配置的代码本身基于Sustainsys.Saml2系列包实现,该包完全兼容AWS SSO SAML的对接需求,不需要额外引入其他专用的AWS SAML DLL。
所需依赖
- 你可以通过NuGet直接安装 Sustainsys.Saml2.AspNetCore 包,对应核心DLL为
Sustainsys.Saml2.dll和Sustainsys.Saml2.AspNetCore.dll - 该包支持.NET Core 3.1及以上版本,和你现有Azure AD SSO的配置逻辑完全通用
适配AWS SSO的配置修改
你不需要调整原有代码的核心结构,仅需要将配置参数替换为AWS SSO控制台导出的对应值即可,示例代码如下:
// Saml2 Authentication services.AddAuthentication(sharedOptions => { sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; sharedOptions.DefaultSignOutScheme = CookieAuthenticationDefaults.AuthenticationScheme; sharedOptions.DefaultChallengeScheme = "Saml2"; }) .AddSaml2(options => { // 此处替换为AWS SSO中配置的服务提供商EntityID options.SPOptions.EntityId = new EntityId(awsSsoSettings.EntityID); options.IdentityProviders.Add( new IdentityProvider( // 此处替换为AWS SSO的身份提供商EntityId new EntityId(awsSsoSettings.IdentityProvider), options.SPOptions) { // 此处替换为AWS SSO提供的元数据地址 MetadataLocation = awsSsoSettings.MetadataLocation }); }) .AddCookie();
额外注意事项
- 需要提前在AWS SSO控制台创建自定义SAML应用,配置的断言消费者服务(ACS)地址、受众URI要和你代码中SP的配置保持一致
- 确保AWS SSO中配置的属性断言包含你应用需要的用户标识字段
内容的提问来源于stack exchange,提问作者Kalpana
相关产品推荐
相关产品推荐

