1
votes

I have a setup with Azure B2C as a SAML token issuer and ADFS as SAML IdP.

Every time I try to login a get the following error from B2C (it does not go further to ADFS):

FatalException

The value must not be null or white space. Parameter name: serviceProviderMetadata

What does it mean in B2C? Am I missing something in my Azure B2C SAML issuer configuration? Here is my SignIn policy

<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignInFmdClient" />
<UserJourneyBehaviors>
  <SingleSignOn Scope="Application" />
    <SessionExpiryType>Absolute</SessionExpiryType>
  <SessionExpiryInSeconds>900</SessionExpiryInSeconds>      
</UserJourneyBehaviors>
<TechnicalProfile Id="PolicyProfile">
  <DisplayName>PolicyProfile</DisplayName>
  <Protocol Name="SAML2" />

  <Metadata>
    <Item Key="KeyEncryptionMethod">Rsa15</Item>
    <Item Key="DataEncryptionMethod">Aes256</Item>
    <Item Key="XmlSignatureAlgorithm">Sha256</Item>
  </Metadata>

  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="socialIdpUserId" />
    <OutputClaim ClaimTypeReferenceId="IdpUserGroups" />
    <OutputClaim ClaimTypeReferenceId="IdpUserName"/>        
    <OutputClaim ClaimTypeReferenceId="identityProvider" />
    <OutputClaim ClaimTypeReferenceId="userPrincipalName" PartnerClaimType="userPrincipalName" />
    <OutputClaim ClaimTypeReferenceId="objectId"/>
  </OutputClaims>

  <SubjectNamingInfo ClaimType="userPrincipalName" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" ExcludeAsClaim="false"/>
</TechnicalProfile>

1
Have you got the PartnerEntity metadata set under the RelyingParty ? This error would suggest that you don't. Are you able to provide an Extract of your policy ?Phil Whipps
I added my RelyingParty configuration from SignUpOrSignIn policy to the question. What is PartnerEntity metadata ? Who is the partner?Michael Chudinov
What if partner has no metadata published?Michael Chudinov
You will need to add the Service Providers Metadata URL within the PartnerEntity Metadata item. If they do not have a URL then you can put the whole metadata XML within a CDATA element.Phil Whipps

1 Answers

0
votes

This is the SAML data that is fetched and loaded on demand for every service and then cached in a global cache for a configurable duration. You need to add a value for the metadata URL so that it does not return null.

Example:

<Item Key="PartnerEntity">https://adfs.example.com/FederationMetadata/2007-06/FederationMetadata.xml&lt;/Item>

You will also need to set the PartnerEntity to True to Allow yourself to specify a link to the federation metadata XML file.