You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core中如何从SAML 2.0 Claims提取邮箱信息

提取SAML 2.0声明中的邮箱地址

你可以通过以下几种方式从SAML认证响应的Claims集合中提取目标邮箱:

方法一:使用FindFirst方法(简洁写法)

直接通过声明类型查找并获取值:

// 目标声明的OID类型
var targetClaimType = "urn:oid:1.3.6.1.4.1.5923.1.1.1.6";
// 提取邮箱值,使用空合并运算符避免空引用
string email = saml2AuthnResponse.ClaimsIdentity.FindFirst(targetClaimType)?.Value?.Trim();

方法二:遍历Claims集合查找

如果需要更灵活的判断逻辑,可以遍历集合筛选:

var targetClaimType = "urn:oid:1.3.6.1.4.1.5923.1.1.1.6";
var emailClaim = saml2AuthnResponse.ClaimsIdentity.Claims
    .FirstOrDefault(claim => claim.Type == targetClaimType);

string email = emailClaim?.Value?.Trim();

注:urn:oid:1.3.6.1.4.1.5923.1.1.1.6对应的是eduPersonPrincipalName属性,通常会返回用户的邮箱格式标识符,使用Trim()可以去除值前后可能存在的空格。

内容的提问来源于stack exchange,提问作者SkyeBoniwell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:53:10