(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS

图文说明 SharePoint 2013 配置AD FS

前提是已经安装成功AD FS服务,下面开始配置:


为信赖方配置 AD FS

  1. 使用有管理员权限的帐号。

  2. 在 AD FS 服务器上,打开 Active Directory 联合身份验证服务 (AD FS) 管理控制台。

  3. 在导航窗格中展开“信任关系”,然后双击“信赖方信任”文件夹。

  4. 在右侧窗格中单击“添加信赖方信任”。这将打开 Active Directory 联合身份验证服务 (AD FS) 配置向导。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第1张图片
  1. 在“欢迎使用添加信赖方信任向导”页上,单击“启动”。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第2张图片
  1. 选择“手动输入有关信赖方的数据”,然后单击“下一步”。

  2. 键入信赖方名称,然后单击“下一步”。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第3张图片
  1. 选中AD FS  配置文件”,然后单击“下一步”。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第4张图片
  1. 不要使用加密证书。单击“下一步”。

  2. 单击以选中“启用 WS 联合身份验证被动协议”复选框。

  3. 在“WS 联合身份验证被动协议 URL”字段中,键入 Web 应用程序 URL 的名称,并追加 /_trust/(例如,https:// app1.contoso.com/_trust/)。单击“下一步”。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第5张图片

  1. 键入信赖方信任标识符的名称(例如,urn:sharepoint:contoso),然后单击“添加”。单击“下一步”。请注意,这将是您在阶段 3 中配置新的 SPTrustedIdentityTokenIssuer 时的领域值。 

    New-SPTrustedIdentityTokenIssuer 使用下面的:urn:sharepoint:pmp

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第6张图片
  1. 选择“此时,我不想为此信赖方.......”

  2. 选择“允许所有用户访问此信赖方”。单击“下一步”。

  3. 在“已准备好添加信任”页上,无需执行任何操作,直接单击“下一步”。

  4. 在“完成”页上单击“关闭”。

  5. 这将打开“规则编辑器”管理控制台。使用此控制台和下一过程将声明的映射从所选的目录源配置到 SharePoint 2013。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第7张图片

配置声明规则


使用此步骤中的过程将轻型目录访问协议 (LDAP) 属性的值作为声明进行发送,并指定属性将映射到传出声明类型的方式。

配置声明规则
  1. 使用有管理员权限的帐号。

  2. 在“颁发转换规则”选项卡上,单击“添加规则”。

  3. 在“选择规则模板”页上,选择“将 LDAP 属性作为声明进行发送”。单击“下一步”。

  4. 在“配置规则”页上,在“声明规则名称”字段中键入声明规则的名称。

  5. 从“属性存储”下拉列表中选择“Active Directory”。

  6. 在“将 LDAP 属性映射到传出声明类型”部分的“LDAP 属性”下,选择“E-Mail-Addresses”。

  7. 在“传出声明类型”下,选择“电子邮件地址”。

  8. 在“LDAP 属性”下,选择“User-Principal-Name”。

  9. 在“传出声明类型”下,选择“UPN”。

  10. 单击“完成”,然后单击“确定”。下图内容从了仅供参考。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第8张图片
(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第9张图片
下图是我第二次配置,完整结果,可以参考对照,之后确定。
(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第10张图片

导出令牌签名证书


可使用本节中的过程导出您要用来建立信任关系的 AD FS 服务器的令牌签名证书,然后将该证书复制到 SharePoint 2013 能够访问的位置。

导出令牌签名证书
  1. 在 AD FS 服务器上,打开 Active Directory 联合身份验证服务 (AD FS)  管理控制台。

  2. 在导航窗格中展开“服务”,然后单击“证书”文件夹。

  3. 在“令牌签名”下,单击“主要”列中指示的主要令牌证书。

  4. 在右侧窗格中单击“查看证书链接”。这将显示证书的属性。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第11张图片
  1. 单击“详细信息”选项卡。

  2. 单击“复制到文件”。这将启动“证书导出向导”。

  3. 在“欢迎使用证书导出向导”页上,单击“下一步”。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第12张图片

  1. 在“导出私钥”页上,单击“否,不要导出私钥”,然后单击“下一步”。

  2. 在“导出文件格式”页上,选择“DER 编码二进制 X.509 (.CER)”,然后单击“下一步”。

  3. 在“要导出的文件”页上,键入您要导出的文件的名称和位置,然后单击“下一步”。例如,输入 C:\ADFS.cer

  4. 在“正在完成证书导出向导”页上,单击“完成”。

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第13张图片

有关证书注意事项

这次配置ADFS很不成功的原因就证书导致的;
1,确保制作证书和使用证书使用的是同一个证书
2,确保能SSO证件点,SSO创建证书连接地址能连通。
3,确保有签名,密码和加密方式无误。
4,  signInURL 的URL 和证书SSO相同。

通过使用 Windows PowerShell 导入令牌签名证书



    1. 启动 SharePoint 2013 命令行管理程序。

      • 对于 Windows Server 2008 R2:

        • 在 SharePoint 2013 环境中,在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 命令行管理程序”。

      • 对于 Windows Server 2012:

        • 在 SharePoint 2013 环境中,在“开始”屏幕上,单击“SharePoint 2013 命令行管理程序”。

          如果“SharePoint 2013 命令行管理程序”不在“开始”屏幕上:

        • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 命令行管理程序”。

    2. 从 Windows PowerShell 命令提示符处,导入令牌签名证书的父证书(即,根证书颁发机构证书),如以下语法中所示:

      $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("")
      New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root
      
    3. 从 Windows PowerShell 命令提示符处,导入从 AD FS 服务器复制的令牌签名证书,如以下语法中所示:

      $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("")
      New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
      

$root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\cer\SPADFS.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\cer\SPADFS.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert

(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第14张图片
上图已经说明证书导入成功,也可以去管理中心--安全--管理信任去验证一下。
(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第15张图片

使用 使用 Windows PowerShell 为声明映射定义唯一标识符

$emailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming
$roleClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming
$sidClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid" -IncomingClaimTypeDisplayName "SID" -SameAsIncoming
(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第16张图片
使用 Windows PowerShell 创建新的身份验证提供程序
  1. 从 Windows PowerShell 命令提示符处,创建一个新的身份验证提供程序,如以下语法中所示。


    $realm = "urn:sharepoint:"  // 之前创建过的名称在这里使用 例如上方的信任方信任标识符urn:sharepoint:pmp
    $signInURL = "https:///adfs/ls"  //在ADFS服务器  服务--终结点。找到这个地址
    $ap = New-SPTrustedIdentityTokenIssuer -Name "SPADFS" -Description "SPProvider" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $emailClaimMap,$upnClaimMap,$roleClaimMap,$sidClaimMap -SignInUrl $signInURL -IdentifierClaim $emailClaimmap.InputClaimType
    

    // 注意:  这里的SPADFS 是你在sharepoint里的名字。如下图。信任的身份提供程序已经出现了“SPADFS”


(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第17张图片

删除的语法是:
Remove-SPTrustedIdentityTokenIssuer "LiveIDSTS"  // SPADFS
下图的意思,再次创建的时候不让创建,说已经存在,那就删除他了。 
(AD FS 配置完全说明)图文说明 SharePoint 2013 配置AD FS_第18张图片

将现有的 Web 应用程序配置为使用 AD FS 身份提供程序
  1. 在管理中心的主页上,单击“应用程序管理”。

  2. 在“应用程序管理”页上的“Web 应用程序”部分,单击“管理 Web 应用程序”。

  3. 单击适当的 Web 应用程序。

  4. 从功能区中单击“身份验证提供程序”。

  5. 在“区域”下单击区域的名称,例如 默认。

  6. 在“编辑验证”页上的“声明身份验证类型”部分,选择“信任的身份提供程序”,然后单击 SAML 提供程序的名称(New-SPTrustedIdentityTokenIssuer 命令中的。单击“确定”。例如“SPASFS

  7. 接下来,您必须为此 Web 应用程序启用 SSL。可以通过为“https://”版本的 Web 应用程序 URL 添加备用访问映射,然后在 Internet Information Services (IIS) 管理器控制台中为 https 绑定配置网站来完成此操作。有关如何为 IIS 设置 SSl 的详细信息,请参阅如何在 IIS 7.0 上设置 SSL。


2016-08-16 updated as below;
Add-PSSnapin Microsoft.SharePoint.Powershell
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\cer\ADFSTokenSigning.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $cert

$emailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming
$roleClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming

$realm = "urn:sharepoint:pmp"

$signInURL = "https://sso.xxx.xxxx.com.cn/adfs/ls"

$ap = New-SPTrustedIdentityTokenIssuer -Name “ADFS” -Description “ADFS” -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $emailClaimMap,$upnClaimMap,$roleClaimMap -SignInUrl $signInURL -IdentifierClaim $emailClaimmap.InputClaimType

$ap = Get-SPTrustedIdentityTokenIssuer adfs
$uri = "https://xxx.xxxx.com.cn"
$id = "urn:sharepoint:pmp"
$ap.ProviderRealms.Add($uri, $id)
$ap.update()

成功之后分别在ADFS服务器和sharepoint 服务器更新如下内容;

ADFS cookie expiration
Get-adfsrelyingpartytrust pmp2ps | set-adfsrelyingpartytrust –tokenlifetime 15

Sharepoint token expiration

$sts = Get-SPSecurityTokenServiceConfig
$sts.ApplicationTokenCacheExpirationWindow = (New-TimeSpan -Minutes 1)
$sts.update()
iisreset



参考内容
https://samlman.wordpress.com/2015/02/28/configuring-sharepoint-2010-and-adfs-v2-end-to-end/
http://www.cnblogs.com/frankzye/p/3166733.html
https://technet.microsoft.com/zh-cn/library/hh305235.aspx

Azure 搭建ADFS
http://cloudwin.net/2015/04/07/azureadfs/


你可能感兴趣的:(ADFS,and,SSO)