我使用Kentor.AuthService.Idp项目作为起点。
启用SAML的服务提供者需要将以下属性作为元数据文件的一部分:
登录-id,伙伴-id,平台,用户-电子邮件
如何将这些添加到现有元数据或创建包含这些元数据的新元数据?
服务提供者的文件特别指出:
属性列表必须包含在元数据文件和生成的断言中。
在元数据中包含这些属性是否满足服务提供者的需求,或者在断言中包含这些属性与将它们包含在元数据?中是完全不同的任务。
发布于 2016-11-15 08:47:01
这是两件不同的事情。
看起来他们希望您指定一个受支持的属性列表,即元数据。System.IdentityModel元数据类由AuthServices支持,但是您必须自己添加它们。
在生成的断言上添加属性是一项不同的任务。您可以通过将它们添加为用于创建断言的标识的声明来做到这一点。
发布于 2016-11-15 19:55:37
基于安德斯的回答,我想出了以下代码。
元数据支持属性
var descriptor = new IdentityProviderSingleSignOnDescriptor();
descriptor.SupportedAttributes.Add(new Saml2Attribute("platform", "desktop"));
descriptor.SupportedAttributes.Add(new Saml2Attribute("partnerid", "partner123"));
descriptor.SupportedAttributes.Add(new Saml2Attribute("login-id", "user9"));
descriptor.SupportedAttributes.Add(new Saml2Attribute("useremail", "donotreply@domain.com"));生成断言的属性
var claims = new List<Claim>();
claims.Add(new Claim("platform", "desktop"));
claims.Add(new Claim("partnerid", "partner123"));
claims.Add(new Claim("login-id", "user9"));
claims.Add(new Claim("useremail", "noreply@domain.com"));
var identity = new ClaimsIdentity(claims);我不知道如何在断言中添加声明。
https://stackoverflow.com/questions/40543136
复制相似问题