Yad*_*ong 21 metadata federation adfs2.0
我们的一个Web应用程序希望与ADFS 2.0服务器连接以获取凭据令牌并基于此检查用户角色.ADFS服务器管理员要求我们为他们提供联合元数据XML文件,以便他们创建信赖方信任.我用谷歌搜索,只找到如何使用URL下载ADFS服务器的联合元数据XML - https:// [adfs服务器名称] /federationmetadata/2007-06/federationmetadata.xml但是找不到任何创建联合元数据XML的指南创建" 信赖方信任 "和" 索赔提供商信托 ".是否有用于创建这些元数据文件的工具?请分享一些如何创建的想法.
谢谢
鲁
回答我自己的问题:
我在http://www.microsoft.com/en-ca/download/details.aspx?id=4451上的WindowsIdentityFoundation-SDK-4.0中找到了联合实用程序工具.
nzp*_*mad 33
实际上URL是
https://server/federationmetadata/2007-06/federationmetadata.xml
Run Code Online (Sandbox Code Playgroud)
我没有意识到的工具.
您可以使用Microsoft.IdentityModel.Protocols.WSFederation.Metadata类或引用动态生成联合元数据.
看看"Thinktecture.IdentityServer.v2/src目录/库/ Thinktecture.IdentityServer.Protocols/FederationMetadata"过的Thinktecture.IdentityServer.v2.
或者,如果您的应用程序使用WIF,则它位于元数据目录中.
更新:
在WIF中,除非您希望加密令牌,否则您不需要证书.对于ADFS方面来说更是如此,因为它必须签署令牌和应用程序.需要公钥来验证.
例:
<?xml version="1.0" encoding="utf-8"?>
<EntityDescriptor ID="_5b6cd05c-a5e3-470d-a2fc-6c6f66633d1b" entityID="http://localhost/app/" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<RoleDescriptor xsi:type="fed:ApplicationServiceType" xmlns:fed="http://docs.oasis-open.org/wsfed/federation/200706" protocolSupportEnumeration="http://docs.oasis-open.org/wsfed/federation/200706" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fed:ClaimTypesRequested>
<auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" Optional="true" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" />
<auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" Optional="true" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" />
</fed:ClaimTypesRequested>
<fed:TargetScopes>
<EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://localhost/app/</Address>
</EndpointReference>
</fed:TargetScopes>
<fed:PassiveRequestorEndpoint>
<EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://localhost/app/</Address>
</EndpointReference>
</fed:PassiveRequestorEndpoint>
</RoleDescriptor>
</EntityDescriptor>
Run Code Online (Sandbox Code Playgroud)
localhost\app \需要成为您应用的URL.注意结束斜线!
小智 13
我最近不得不这样做,之前从未使用过.Net或ADFS,并且只使用了我试图集成的服务器(STS)元数据URL.我有一台基本的Windows 10 PC,并试图将Node.js webapp设置为RP.这就是我做的:
在Win 10 PC上,转到控制面板 - >程序和功能 - >打开或关闭Windows功能 - >启用Windows Identity Foundation 3.5
已安装的Windows Identity Foundation SDK 4.0(由原作者引用).
创建了一个基本的Web.config文件,其中包含:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)在SDK安装目录中,我找到了FedUtil.exe和FedUtilSampleUserInput.xml.示例文件解释了FedUtil.exe要求的所有参数,这非常有用.
以管理员身份启动FedUtil.exe(在文件资源管理器中右键单击),提供我刚创建的Web.config文件,webapp URL,服务器(STS)元数据URL作为"现有STS",并选择创建新默认值证书.
请注意,生成了一个FederationMetadata.xml文件,并且我的Web.config文件已自动更新.
然后,我在更新的Web.config文件中取消注释了一些声明类型并重新运行了FedUtil.exe,然后使用STS中我需要的其他声明类型更新了我的FederationMetadata.xml(例如,电子邮件,给定名称) , 姓)
将FederationMetadata.xml提供给STS管理员,该工作正常!
唯一的缺点是这一切都需要一台Windows机器......我不确定我在Mac或Linux上会做什么!
归档时间: |
|
查看次数: |
82704 次 |
最近记录: |