0

我得到通過wsfed用戶ADFS的詳細信息,通過: https://github.com/auth0/passport-wsfed-saml2ADFS忽略了我的要求要求

,我只得到填充NameID。

metadata.xml中(我的服務器地址與http://localhost/app/更換,在HTTPS是跑):

<?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> 

甚至每當我取代「可選」,以虛假它不返回任何索賠。 爲什麼ADFS忽略我的說法?

回答

0

您是否期待ADFS從「ClaimTypesRequested」派生出索賠?

ADFS的工作方式是聲明來源於在ADFS中配置的聲明規則。

您配置了哪些聲明規則?

+0

我期望我提到的具體索賠將返回到回調。如果我提到「角色」,我希望在響應中獲得角色屬性。我無法指定我想從ADFS回來的數據嗎? – adfsdoesntwork

+0

您可以但決定性因素是在ADFS上配置的聲明規則。沒有索賠規則 - 沒有索賠。 – nzpcmad