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

WebGate失败后,如何配置SharePoint 2019与Oracle OAM 12c的SAML 2.0 SSO?

SharePoint Server 2019 与 OAM 12c SAML 2.0 单点登录配置指南

核心问题解析

报错Invalid issuer or missing claim本质指向两个关键问题:一是SharePoint未将OAM的SAML实体ID(Issuer)加入可信列表;二是OAM颁发的SAML令牌中缺少SharePoint认证必需的核心声明,或声明映射规则不匹配。


一、配置SharePoint信任OAM的SAML Issuer

1. 获取OAM元数据

从OAM管理控制台导出SAML 2.0身份提供商(IdP)的元数据XML,提取<md:EntityDescriptor>标签的entityID属性值——这就是OAM的Issuer标识,后续配置需完全匹配(含大小写、特殊字符)。

2. 导入OAM签名证书

将OAM用于签署SAML令牌的证书(可从元数据中提取或直接从OAM导出)导入SharePoint服务器的本地计算机-受信任根证书颁发机构存储。

3. 用PowerShell创建可信身份提供商

在SharePoint管理Shell中执行以下命令(替换占位符为实际环境值):

# 导入OAM签名证书
$cert = Get-PfxCertificate -FilePath "C:\Certificates\OAM_Signing_Cert.pfx"

# 创建可信身份提供商
$ti = New-SPTrustedIdentityTokenIssuer -Name "OAM SAML IdP" `
  -Identifier "https://oam.yourdomain.com/oamfed" ` # 替换为OAM的Entity ID
  -SigningCertificate $cert `
  -ClaimsMappings @(New-SPClaimMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" -IncomingClaimTypeDisplayName "Name ID" -LocalClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname") `
  -Realm "https://sharepoint.yourdomain.com" ` # SharePoint的信任域(Realm)
  -SignInUrl "https://oam.yourdomain.com/oamfed/idp/samlv20" ` # OAM的SAML 2.0 SSO端点
  -IdentifierClaim "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"

二、声明映射配置

1. OAM端声明配置

在OAM的SAML IdP配置中,确保向SharePoint发送以下核心声明:

  • NameID:映射到用户的Windows登录名(如AD的sAMAccountName)或UPN,声明格式选择urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified或urn:oasis:names:tc:SAML:2.0:nameid-format:transient。
  • 可选角色声明:若需基于权限控制,映射到OAM中的用户角色,声明类型为http://schemas.microsoft.com/ws/2008/06/identity/claims/role。

2. SharePoint端声明映射

若需扩展声明规则,可通过以下命令添加额外映射(示例为UPN声明):

# 为已创建的可信身份提供商添加UPN声明映射
Add-SPClaimMapping -Identity $ti -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -LocalClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"

三、关键验证项

  • Issuer一致性:OAM元数据中的entityID必须与SharePointNew-SPTrustedIdentityTokenIssuer命令的-Identifier参数完全一致,任何字符差异都会触发Invalid issuer错误。
  • 证书信任:OAM的签名证书必须在SharePoint服务器的受信任根存储中,且未过期、无篡改。
  • HTTPS有效性:OAM的SSO端点、元数据端点及SharePoint站点均需配置有效HTTPS证书,无证书链信任问题。

自定义声明提供程序需求

仅当OAM发送的声明类型为SharePoint默认SAML声明提供程序不支持的自定义类型时,才需要开发自定义声明提供程序。常规场景下,通过默认的Saml20ClaimProvider配合正确的声明映射即可满足需求,无需自定义开发。


排错步骤

  1. 用Fiddler捕获SAML响应,检查<saml:Issuer>值是否与SharePoint信任的Identifier一致,同时验证<saml:AttributeStatement>中是否包含所需声明。
  2. 查看SharePoint ULS日志(路径:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\LOGS),搜索Invalid issuer或missing claim关键字,获取具体错误细节。
  3. 在SharePoint服务器上直接访问OAM元数据URL,验证网络连通性与证书信任。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 19:34:50