Egyéni Azure AD B2C-szabályzatok és felhasználói folyamatok hibaelhárítása

Mielőtt hozzákezdene, a Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Az alkalmazásnak kezelnie kell az Azure B2C szolgáltatásból érkező bizonyos hibákat. Ez a cikk néhány gyakori hibát és azok kezelését ismerteti.

Jelszó-visszaállítási hiba

Ez a hiba akkor fordul elő, ha az önkiszolgáló jelszó-visszaállítási felület nincs engedélyezve egy felhasználói folyamatban. Így az Elfelejtett jelszó? hivatkozás kiválasztása nem indítja el a jelszó-visszaállítási felhasználói folyamatot. Ehelyett a rendszer visszaadja a hibakódot AADB2C90118 az alkalmazásnak.

A problémára két megoldás létezik:

A felhasználó megszakította a műveletet

Az Azure AD B2C szolgáltatás hibát is visszaadhat az alkalmazásnak, ha egy felhasználó megszakít egy műveletet. Az alábbi példák olyan esetekre mutatnak be példákat, amikor egy felhasználó megszakítási műveletet hajt végre:

  • A felhasználói szabályzatok az ajánlott önkiszolgáló jelszó-visszaállítási (SSPR) felületet használják egy fogyasztói helyi fiókkal. A felhasználó kiválasztja az Elfelejtett jelszó? hivatkozást, majd a Mégse gombot a felhasználói folyamat befejezése előtt. Ebben az esetben az Azure AD B2C szolgáltatás hibakódot AADB2C90091 ad vissza az alkalmazásnak.
  • A felhasználó úgy dönt, hogy egy külső identitásszolgáltatóval, például a LinkedInnel hitelesít. A felhasználó a Mégse gombra kattintva hitelesíti magát az identitásszolgáltatót. Ebben az esetben az Azure AD B2C szolgáltatás hibakódot AADB2C90273 ad vissza az alkalmazásnak. További információ az Azure Active Directory B2C szolgáltatás visszatérési hibakódjairól.

A hiba kezeléséhez kérje le a felhasználó hibaleírását , és válaszoljon vissza egy új hitelesítési kéréssel ugyanazzal a felhasználói folyamattal.

Ha az Azure Active Directory B2C (Azure AD B2C) egyéni szabályzatait használja, a szabályzatnyelv XML-formátumával vagy futtatókörnyezetével kapcsolatos problémákat tapasztalhat. Ez a cikk néhány olyan eszközt és tippet ismertet, amelyek segíthetnek a problémák felderítésében és megoldásában.

Ez a cikk az Azure AD B2C egyéni szabályzatkonfigurációjának hibaelhárításával foglalkozik. Nem foglalkozik a függő entitás alkalmazásával vagy identitástárával.

Az Azure AD B2C korrelációs azonosító áttekintése

Az Azure AD B2C korrelációs azonosítója egy egyedi azonosító érték, amely az engedélyezési kérelmekhez van csatolva. Végighalad a felhasználó által végrehajtott összes vezénylési lépésen. A korrelációs azonosítóval a következőt teheti:

  • Azonosítsa a bejelentkezési tevékenységet az alkalmazásban, és kövesse nyomon a szabályzat teljesítményét.
  • Keresse meg a bejelentkezési kérelem Azure-alkalmazás Elemzések naplóit.
  • Adja át a korrelációs azonosítót a REST API-nak, és használja a bejelentkezési folyamat azonosítására.

A korrelációs azonosító minden alkalommal megváltozik, amikor új munkamenetet hoz létre. A szabályzatok hibakeresésekor zárja be a meglévő böngészőlapokat, vagy nyisson meg egy új privát módban lévő böngészőt.

Előfeltételek

Az Azure AD B2C korrelációs azonosítójának lekérése

A korrelációs azonosítót az Azure AD B2C regisztrációs vagy bejelentkezési oldalán találja. A böngészőben válassza ki a nézet forrását. A korreláció megjegyzésként jelenik meg az oldal tetején.

Screenshot of Azure AD B2C sign-in page view source.

Másolja ki a korrelációs azonosítót, majd folytassa a bejelentkezési folyamatot. A bejelentkezési viselkedés megfigyeléséhez használja a korrelációs azonosítót. További információ: Az alkalmazás Elemzések hibaelhárítása.

Az Azure AD B2C korrelációs azonosítójának visszhangja

A korrelációs azonosítót az Azure AD B2C-jogkivonatokban is megadhatja. A korrelációs azonosító felvétele:

  1. Nyissa meg a szabályzat bővítményfájlját. For example, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  2. Keresse meg a BuildingBlocks elemet. Ha az elem nem létezik, adja hozzá.

  3. Keresse meg a ClaimsSchema elemet. Ha az elem nem létezik, adja hozzá.

  4. Adja hozzá a korrelációs azonosító jogcímét a ClaimsSchema elemhez.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="correlationId">
          <DisplayName>correlation ID</DisplayName>
          <DataType>string</DataType>
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  5. Nyissa meg a szabályzat függő entitásfájlját. Például fájl SocialAndLocalAccounts/SignUpOrSignIn.xml . A kimeneti jogcímet a rendszer a sikeres felhasználói folyamat után hozzáadja a jogkivonathoz, és elküldi az alkalmazásnak. Módosítsa a műszaki profil elemet a függő entitás szakaszban, hogy kimeneti jogcímként adja hozzá.correlationId

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <DisplayName>PolicyProfile</DisplayName>
        <Protocol Name="OpenIdConnect" />
        <OutputClaims>
          ...
          <OutputClaim ClaimTypeReferenceId="correlationId" DefaultValue="{Context:CorrelationId}" />
        </OutputClaims>
        <SubjectNamingInfo ClaimType="sub" />
      </TechnicalProfile>
    </RelyingParty>
    

Hibaelhárítás az Alkalmazás Elemzések

Az egyéni szabályzatokkal kapcsolatos problémák diagnosztizálásához használja az Application Elemzések. Az alkalmazás Elemzések nyomon követheti az egyéni szabályzat felhasználói folyamatának tevékenységeit. Lehetővé teszi a kivételek diagnosztizálását és a jogcímek cseréjének megfigyelését az Azure AD B2C és a különböző jogcímszolgáltatók között. A jogcímszolgáltatókat technikai profilok, például identitásszolgáltatók, API-alapú szolgáltatások, az Azure AD B2C felhasználói címtár és egyéb szolgáltatások határozzák meg.

Javasoljuk, hogy telepítse az Azure AD B2C bővítményt a VS Code-hoz. Az Azure AD B2C kiterjesztéssel a naplók szabályzatnév, korrelációs azonosító (az alkalmazás Elemzések a korrelációs azonosító első számjegyét) és a napló időbélyege alapján vannak rendszerezve. Ez a funkció segít megtalálni a megfelelő naplót a helyi időbélyeg alapján, és látni a felhasználói folyamatot az Azure AD B2C által végrehajtott módon.

Megjegyzés:

  • Az új naplók az Application Elemzések-ban való megjelenítése előtt rövid, általában öt percnél rövidebb késést tapasztal.
  • A közösség kifejlesztette az Azure AD B2C Visual Studio Code-bővítményét az identitásfejlesztők segítésére. A bővítményt a Microsoft nem támogatja, és szigorúan elérhető.

Egyetlen bejelentkezési folyamat több Azure-alkalmazás Elemzések nyomkövetést is okozhat. Az alábbi képernyőképen a B2C_1A_signup_signin szabályzat három naplóval rendelkezik. Minden napló a bejelentkezési folyamat egy részét jelöli.

Az alábbi képernyőképen a VS Code Azure AD B2C-bővítménye látható Azure-alkalmazás Elemzések nyomkövetési kezelővel.

Screenshot of Azure AD B2C extension for VS Code with Azure Application Insights trace.

A nyomkövetési napló szűrése

Az Azure AD B2C nyomkövetési kezelőjének fókuszában kezdje meg beírni a korrelációs azonosító első számjegyét vagy a keresett időpontot. Az Azure AD B2C nyomkövetési kezelőjének jobb felső sarkában egy szűrőmező jelenik meg, amelyen az eddig beírt adatok láthatók, a megfelelő nyomkövetési naplók pedig ki vannak emelve.

Screenshot of Azure AD B2C extension Azure AD B2C trace explorer filter highlighting.

Ha a szűrőmező fölé viszi az egérmutatót, és a Szűrés engedélyezése típuson lehetőséget választja, az csak az egyező nyomkövetési naplókat jeleníti meg. A szűrő törléséhez használja az "X" Törlés gombot .

Screenshot of Azure AD B2C extension Azure AD B2C trace explorer filter.

Alkalmazás Elemzések nyomkövetési napló részletei

Ha kiválaszt egy Azure-alkalmazás Elemzések nyomkövetést, a bővítmény megnyitja az Alkalmazás Elemzések részletes ablakát a következő információkkal:

  • Alkalmazás Elemzések – A nyomkövetési napló általános információi, beleértve a szabályzat nevét, korrelációs azonosítóját, Azure-alkalmazás Elemzések nyomkövetési azonosítóját és nyomkövetési időbélyegét.
  • Műszaki profilok – A nyomkövetési naplóban megjelenő műszaki profilok listája.
  • Jogcímek – A nyomkövetési naplóban megjelenő jogcímek betűrendes listája és azok értékei. Ha egy jogcím többször is megjelenik a nyomkövetési naplóban különböző értékekkel, egy => jel jelöli a legújabb értéket. Ezeket a jogcímeket áttekintve megállapíthatja, hogy a várt jogcímértékek helyesen vannak-e beállítva. Ha például olyan előfeltétele van, amely ellenőrzi a jogcímértékeket, a jogcímszakasz segíthet meghatározni, hogy egy várt folyamat miért viselkedik másképp.
  • Jogcímátalakítás – A nyomkövetési naplóban megjelenő jogcímátalakítások listája. Minden jogcímátalakítás tartalmazza a bemeneti jogcímeket, a bemeneti paramétereket és a kimeneti jogcímeket. A jogcímátalakítás szakasz betekintést nyújt a beküldött adatokba és a jogcímátalakítás eredményébe.
  • Tokenek – A nyomkövetési naplóban megjelenő tokenek listája. A jogkivonatok közé tartoznak az alapul szolgáló összevont OAuth és az OpenId Csatlakozás identitásszolgáltató jogkivonatai. Az összevont identitásszolgáltató jogkivonata részletesen ismerteti, hogy az identitásszolgáltató hogyan adja vissza a jogcímeket az Azure AD B2C-nek, hogy leképezetté tehesse az identitásszolgáltató műszaki profil kimeneti jogcímeit.
  • Kivételek – A nyomkövetési naplóban megjelenő kivételek vagy végzetes hibák listája.
  • Alkalmazás Elemzések JSON – Az alkalmazás Elemzések által visszaadott nyers adatok.

Az alábbi képernyőképen az Alkalmazás Elemzések nyomkövetési napló részletei ablak látható.

Screenshot of Azure AD B2C extension Azure AD B2C trace report.

JWT-jogkivonatok hibaelhárítása

JWT-jogkivonatok érvényesítése és hibakeresése céljából a JWT-ket egy olyan webhely használatával lehet dekódolni, mint a https://jwt.ms. Hozzon létre egy tesztalkalmazást, amely átirányítható a https://jwt.ms tokenvizsgálathoz. Ha még nem tette meg, regisztráljon egy webalkalmazást, és engedélyezze az azonosító jogkivonat implicit megadását.

Screenshot of JWT token preview.

Használja a Futtatás most parancsot, és https://jwt.ms tesztelje szabályzatait a web- vagy mobilalkalmazástól függetlenül. Ez a webhely függő entitásalkalmazásként működik. Megjeleníti az Azure AD B2C-szabályzat által létrehozott JSON webes jogkivonat (JWT) tartalmát.

SAML-protokoll hibaelhárítása

A szolgáltatóval való integráció konfigurálásához és hibakereséséhez használhatja az SAML protokoll böngészőbővítményét, például a Chrome SAML DevTools bővítményét, a FireFoxHOZ készült SAML-tracert, az Edge-t vagy az IE-Fejlesztői eszközök.

Az alábbi képernyőkép bemutatja, hogy az SAML DevTools bővítmény hogyan jeleníti meg az Azure AD B2C-nek küldött SAML-kérést és az SAML-választ.

Screenshot of SAML protocol trace log.

Ezekkel az eszközökkel ellenőrizheti az alkalmazás és az Azure AD B2C integrációját. Például:

  • Ellenőrizze, hogy az SAML-kérelem tartalmaz-e aláírást, és határozza meg, hogy milyen algoritmussal jelentkezzen be az engedélyezési kérelembe.
  • Ellenőrizze, hogy az Azure AD B2C hibaüzenetet ad-e vissza.
  • Ellenőrizze, hogy a helyességi szakasz titkosítva van-e.
  • A jogcímek nevének lekérése az identitásszolgáltatót adja vissza.

Az ügyfélböngésző és az Azure AD B2C közötti üzenetváltást a Fiddlerrel is nyomon követheti. Segíthet annak jelzésében, hogy hol meghiúsul a felhasználói út a vezénylési lépések során.

Szabályzat érvényességének hibaelhárítása

Miután befejezte a szabályzat fejlesztését, feltölti a szabályzatot az Azure AD B2C-be. Előfordulhat, hogy a szabályzattal kapcsolatban problémák merülnek fel, de a feltöltés előtt érvényesíteni tudja a szabályzatot.

Az egyéni szabályzatok beállításának leggyakoribb hibája a helytelenül formázott XML. A jó XML-szerkesztő szinte elengedhetetlen. Natív MÓDON jeleníti meg az XML-t, a színkódok tartalmát, előre kitölti a gyakori kifejezéseket, indexeli az XML-elemeket, és érvényesíthető egy XML-sémán.

A Visual Studio Code használatát javasoljuk. Ezután telepítsen egy XML-bővítményt, például a Red Hat xml nyelvi támogatását. Az XML-bővítmény lehetővé teszi az XML-séma érvényesítését az XML-fájl feltöltése előtt az egyéni szabályzat XSD-sémadefiníciójával .

Az XML-fájltársítási stratégiával kötheti az XML-fájlt az XSD-hez az alábbi beállítások hozzáadásával a VS Code-fájlban settings.json . Ehhez tegye a következőket:

  1. A VS Code-ból válassza a Fájlbeállítások>> Gépház lehetőséget. További információ: Felhasználó és munkaterület Gépház.

  2. Keresse meg a fileAssociations fájlt, majd a Bővítmény alatt válassza ki az XML-t.

  3. Válassza a Szerkesztés lehetőséget a settings.json fájlban.

    Screenshot of VS Code XML schema validation.

  4. A settings.json fájlban adja hozzá a következő JSON-kódot:

    "xml.fileAssociations": [
      {
        "pattern": "**.xml",
        "systemId": "https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/master/TrustFrameworkPolicy_0.3.0.0.xsd"
      }
    ]
    
  5. Save the changes.

Az alábbi példa egy XML-érvényesítési hibát mutat be. Amikor az egeret az elem neve fölé helyezi, a bővítmény felsorolja a várt elemeket.

Screenshot of VS Code XML schema validation error indicator.

Az alábbi esetben az DisplayName elem helyes. De rossz sorrendben. Az DisplayName elem előtt Protocol kell lennie. A probléma megoldásához vigye az egeret az DisplayName elem fölé az elemek megfelelő sorrendjébe.

Screenshot of VS Code XML schema validation order error.

Szabályzatok feltöltése és szabályzat érvényesítése

Az XML-szabályzatfájl ellenőrzése automatikusan megtörténik a feltöltés során. A legtöbb hiba miatt a feltöltés meghiúsul. Az ellenőrzés tartalmazza a feltölteni kívánt szabályzatfájlt. Tartalmazza a feltöltési fájl által hivatkozott fájlláncot is (a függő entitás házirendfájlját, a bővítményfájlt és az alapfájlt).

Tipp.

Az Azure AD B2C további ellenőrzést futtat a függő entitás szabályzatához. Ha problémát tapasztal a szabályzattal kapcsolatban, még akkor is, ha csak a bővítményházirendet szerkessze, érdemes feltölteni a függő entitás házirendjét is.

Ez a szakasz a gyakori érvényesítési hibákat és a valószínű megoldásokat tartalmazza.

Sémaérvényesítési hiba történt... érvénytelen gyermekelem ({name})

A szabályzat érvénytelen XML-elemet tartalmaz, vagy az XML-elem érvényes, de úgy tűnik, hogy helytelen sorrendben van. Az ilyen típusú hibák elhárításához tekintse meg a Szabályzat érvényességének hibaelhárítása című szakaszt.

A(z) "{number}" ismétlődő kulcsütemezéssel rendelkezik

A felhasználói út vagy részút a sorrendben végrehajtott vezénylési lépések rendezett listájából áll. Miután módosította az utat, számozza újra a lépéseket sorban anélkül, hogy kihagyja az egész számokat 1-ről N-re.

Tipp.

A VS Code-hoz(Shift+Ctrl+r) készült Azure AD B2C-bővítmény használatával újraszámozhatja a szabályzatban szereplő összes felhasználói folyamatot és részút vezénylési lépést.

... a(z) "{number}" megrendeléssel rendelkező lépésre számított, de nem található...

Ellenőrizze az előző hibát.

"{number}" vezénylési lépéssorrend a(z) "{name}" felhasználói folyamat során... ezt követi egy jogcímszolgáltató kiválasztási lépése, és jogcímcserének kell lennie, de típusa...

A vezénylési lépések típusa ClaimsProviderSelection, és CombinedSignInAndSignUp tartalmazza a felhasználó által választható lehetőségek listáját. Ennek egy vagy több jogcímcserével rendelkező típus szerint kell követnie ClaimsExchange .

Az alábbi vezénylési lépések ezt a típust vagy hibát okozzák. A második vezénylési ClaimsExchangelépésnek nem ClaimsProviderSelection.

<!-- 
<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>-->
      <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
        <ClaimsProviderSelections>
          <ClaimsProviderSelection TargetClaimsExchangeId="FacebookExchange"/>
          <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange"/>
        </ClaimsProviderSelections>
        <ClaimsExchanges>
          <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email"/>
        </ClaimsExchanges>
      </OrchestrationStep> 

      <OrchestrationStep Order="2" Type="ClaimsProviderSelection">
        ...
      </OrchestrationStep>
      ...
    <!--
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys> -->

... {number} lépés 2 jogcímcserével. Meg kell előznie egy jogcímszolgáltató kiválasztását annak megállapításához, hogy melyik jogcímcserét lehet használni

A vezénylési lépések típusának ClaimsExchange egyetlennek ClaimsExchangekell lennie, kivéve, ha az előző lépés típusa ClaimsProviderSelectionvagy CombinedSignInAndSignUptípusa. Az alábbi vezénylési lépések ilyen típusú hibát okoznak. A hatodik lépés két jogcímcserét tartalmaz.

<!-- 
<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>-->
      ...
      <OrchestrationStep Order="5" Type="ClaimsExchange">
        ...
        <ClaimsExchanges>
          <ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="6" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="Call-REST-First-API" TechnicalProfileReferenceId="Call-REST-First-API"/>
          <ClaimsExchange Id="Call-REST-Second-API" TechnicalProfileReferenceId="Call-REST-Second-API"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      ...
    <!--
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys> -->

Az ilyen típusú hiba kijavításához két vezénylési lépést kell végrehajtania. Minden vezénylési lépés egy jogcímcserével.

<!-- 
<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>-->
      ...
      <OrchestrationStep Order="5" Type="ClaimsExchange">
        ...
        <ClaimsExchanges>
          <ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="6" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="Call-REST-First-API" TechnicalProfileReferenceId="Call-REST-First-API"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="7" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="Call-REST-Second-API" TechnicalProfileReferenceId="Call-REST-Second-API"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      ...
    <!--
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys> -->

A(z) "{name}" duplikált kulcsütemezés

Egy út több ClaimsExchange azonos Id. Az alábbi lépések ezt a hibatípust okozzák. Az AADUserWrite azonosító kétszer jelenik meg a felhasználói folyamat során.

<!-- 
<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>-->
      ...
      <OrchestrationStep Order="7" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="AAD-UserWriteUsingAlternativeSecurityId"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="8" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="Call-REST-API"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      ...
    <!--
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys> -->

Az ilyen típusú hiba kijavításához módosítsa a nyolcadik vezénylési lépések jogcímcseréit egy egyedi névre, például a Call-REST-API-ra.

<!-- 
<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>-->
      ...
      <OrchestrationStep Order="7" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="AAD-UserWriteUsingAlternativeSecurityId"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="8" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="Call-REST-API" TechnicalProfileReferenceId="Call-REST-API"/>
        </ClaimsExchanges>
      </OrchestrationStep>
      ...
    <!--
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys> -->

... a(z) "{jogcímnév}" azonosítójú Jogcímtípusra hivatkozik, de sem a szabályzat, sem annak alapházirendjei nem tartalmaznak ilyen elemet

Ez a hiba akkor fordul elő, ha a szabályzat olyan jogcímre hivatkozik, amely nincs deklarálva a jogcímsémában. A jogcímeket a szabályzatban szereplő fájlok legalább egyikében meg kell határozni.

Például egy technikai profil az schoolId kimeneti jogcímével. A kimeneti jogcím iskolaazonosítója azonban soha nem deklarálva van a házirendben vagy az elődszabályzatban.

<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="schoolId" />
  ...
</OutputClaims>

Az ilyen típusú hiba kijavításához ellenőrizze, hogy az ClaimTypeReferenceId érték hibás-e, vagy nem szerepel-e a sémában. Ha a jogcím a bővítményszabályzatban van definiálva, de az alapszabályzatban is használatos. Győződjön meg arról, hogy a jogcím a használt szabályzatban vagy egy felső szintű szabályzatban van definiálva.

Ha hozzáadja a jogcímet a jogcímsémához, az megoldja ezt a típusú hibát.

<!--
<BuildingBlocks>
  <ClaimsSchema> -->
    <ClaimType Id="schoolId">
      <DisplayName>School name</DisplayName>
      <DataType>string</DataType>
      <UserHelpText>Enter your school name</UserHelpText>
      <UserInputType>TextBox</UserInputType>
    </ClaimType>
  <!-- 
  </ClaimsSchema>
</BuildingBlocks> -->

... egy jogcímtranszformációra hivatkozik azonosítóval...

A hiba oka hasonló a jogcímhiba okához. Ellenőrizze az előző hibát.

A felhasználó jelenleg a "yourtenant.onmicrosoft.com" bérlő felhasználójaként van naplózva...

Olyan bérlői fiókkal jelentkezik be, amely eltér a feltölteni kívánt szabályzattól. Például jelentkezzen be a következővel admin@contoso.onmicrosoft.com, miközben a szabályzata TenantId be van állítva fabrikam.onmicrosoft.com.

<TrustFrameworkPolicy ...
  TenantId="fabrikam.onmicrosoft.com"
  PolicyId="B2C_1A_signup_signin"
  PublicPolicyUri="http://fabrikam.onmicrosoft.com/B2C_1A_signup_signin">

  <BasePolicy>
    <TenantId>fabrikam.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>
  ...
</TrustFrameworkPolicy>
  • Ellenőrizze, hogy a TenantId benne és <BasePolicy\> az <TrustFrameworkPolicy\> elemekben lévő érték megegyezik-e a cél Azure AD B2C-bérlővel.

A(z) "{name}" jogcímtípus a függő entitás technikai profiljának kimeneti jogcíme, de nem kimeneti jogcím a felhasználói folyamat egyik lépésében sem...

Egy függő entitás házirendjében hozzáadott egy kimeneti jogcímet, de a kimeneti jogcím nem kimeneti jogcím a felhasználói folyamat egyik lépésében sem. Az Azure AD B2C nem tudja beolvasni a jogcím értékét a jogcímcsomagból.

Az alábbi példában az schoolId jogcím a függő entitás technikai profiljának kimeneti jogcíme, de nem kimeneti jogcím a SignUpOrSignIn felhasználói folyamat egyik lépésében sem.

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="schoolId" />
      ...
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

Az ilyen típusú hiba kijavításához győződjön meg arról, hogy a kimeneti jogcímek legalább egy vezénylési lépés technikai profil kimeneti jogcímgyűjteményében jelennek meg. Ha a felhasználói folyamat nem tudja kihozni a jogcímet, a függő entitás műszaki profiljában állítson be egy alapértelmezett értéket, például üres sztringet.

<OutputClaim ClaimTypeReferenceId="schoolId" DefaultValue="" />

A bemeneti sztring nem volt megfelelő formátumban

Helytelen értéktípust állít be egy másik típusú jogcímre. Meghatározhat például egy egész számra vonatkozó jogcímet.

<!--
<BuildingBlocks>
  <ClaimsSchema> -->
    <ClaimType Id="age">
      <DisplayName>Age</DisplayName>
      <DataType>int</DataType>
    </ClaimType>
  <!--
  </ClaimsSchema>
</BuildingBlocks> -->

Ezután megpróbál beállítani egy sztringértéket:

<OutputClaim ClaimTypeReferenceId="age" DefaultValue="ABCD" />

Az ilyen típusú hiba kijavításához győződjön meg arról, hogy a megfelelő értéket állítja be, például DefaultValue="0".

A(z) "{name}" bérlő már rendelkezik "{name}" azonosítójú szabályzattal. Egy másik, azonos azonosítóval rendelkező szabályzat nem tárolható

Megpróbál feltölteni egy szabályzatot a bérlőbe, de egy azonos nevű szabályzat már fel van töltve a bérlőbe.

Az ilyen típusú hiba kijavításához a szabályzat feltöltésekor jelölje be az egyéni szabályzat felülírása jelölőnégyzetet, ha már létezik .

Screenshot that demonstrates how to overwrite the custom policy if it already exists.

További lépések