Megosztás a következőn keresztül:


RelyingParty

Feljegyzés

Az Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban összetett helyzetek kezelésére szolgálnak. A legtöbb forgatókönyv esetében javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, ismerkedjen meg az egyéni szabályzatok kezdőcsomagjával az Egyéni szabályzatok használatának első lépései az Active Directory B2C-ben.

A függő entitás (RelyingParty) elem határozza meg az Azure Active Directory B2C (Azure AD B2C) felé irányuló aktuális kérés esetén kényszerítendő felhasználói interakciósorozatot. Emellett meghatározza azon jogcímek listáját, amelyekre a függő entitás alkalmazásának szüksége van a kiadott jogkivonat részeként. Egy RP-alkalmazás, például egy webes, mobil vagy asztali alkalmazás meghívja az RP-szabályzatfájlt. Az RP-házirendfájl egy adott feladatot hajt végre, például bejelentkezik, új jelszót állít be vagy profilt szerkeszt. Több alkalmazás is használhatja ugyanazt az RP-szabályzatot, és egyetlen alkalmazás több szabályzatot is használhat. Minden RP-alkalmazás ugyanazt a jogkivonatot kapja jogcímekkel, és a felhasználó ugyanazon a felhasználói folyamaton megy keresztül.

Az alábbi példa egy RelyingParty elemet mutat be a B2C_1A_signup_signin házirendfájlban:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="https://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="your-tenant.onmicrosoft.com"
  PolicyId="B2C_1A_signup_signin"
  PublicPolicyUri="http://your-tenant.onmicrosoft.com/B2C_1A_signup_signin">

  <BasePolicy>
    <TenantId>your-tenant.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <UserJourneyBehaviors>
      <SingleSignOn Scope="Tenant" KeepAliveInDays="7"/>
      <SessionExpiryType>Rolling</SessionExpiryType>
      <SessionExpiryInSeconds>900</SessionExpiryInSeconds>
      <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="your-application-insights-key" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
      <ContentDefinitionParameters>
        <Parameter Name="campaignId">{OAUTH-KV:campaignId}</Parameter>
      </ContentDefinitionParameters>
    </UserJourneyBehaviors>
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Description>The policy profile</Description>
      <Protocol Name="OpenIdConnect" />
      <Metadata>collection of key/value pairs of data</Metadata>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="loyaltyNumber" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>
  ...

Az opcionális RelyingParty elem a következő elemeket tartalmazza:

Elem Események Leírás
DefaultUserJourney 1:1 Az RP-alkalmazás alapértelmezett felhasználói folyamata.
Végpontok 0:1 Végpontok listája. További információ: UserInfo endpoint.
UserJourneyBehaviors 0:1 A felhasználói folyamat viselkedésének hatóköre.
TechnicalProfile 1:1 Az RP-alkalmazás által támogatott műszaki profil. A műszaki profil szerződést biztosít az RP-alkalmazás számára, hogy kapcsolatba lépjen az Azure AD B2C-vel.

A RelyingParty gyermekelemeket az előző táblázatban bemutatott sorrendben kell létrehoznia.

Végpontok

A Végpontok elem a következő elemet tartalmazza:

Elem Események Leírás
Végpont 1:1 Egy végpontra mutató hivatkozás.

A Végpont elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
Id Igen A végpont egyedi azonosítója.
UserJourneyReferenceId Igen A felhasználói folyamat azonosítója a szabályzatban. További információkért tekintse meg a felhasználói folyamatokat

Az alábbi példa egy UserInfo-végponttal rendelkező függő entitást mutat be:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <Endpoints>
    <Endpoint Id="UserInfo" UserJourneyReferenceId="UserInfoJourney" />
  </Endpoints>
  ...

DefaultUserJourney

Az DefaultUserJourney elem az Alap- vagy Bővítményszabályzatban meghatározott felhasználói folyamat azonosítójára mutató hivatkozást ad meg. Az alábbi példák a RelyingParty elemben megadott regisztrációs vagy bejelentkezési felhasználói folyamatot mutatják be:

B2C_1A_signup_signin szabályzat:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn">
  ...

B2C_1A_TrustFrameWorkBase vagy B2C_1A_TrustFrameworkExtensionPolicy:

<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
  ...

A DefaultUserJourney elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
Referenciaazonosító Igen A felhasználói folyamat azonosítója a szabályzatban. További információkért tekintse meg a felhasználói folyamatokat

UserJourneyBehaviors

A UserJourneyBehaviors elem a következő elemeket tartalmazza:

Elem Események Leírás
SingleSignOn 0:1 A felhasználói folyamat egyszeri bejelentkezési (SSO) munkamenet-viselkedésének hatóköre.
SessionExpiryType 0:1 A munkamenet hitelesítési viselkedése. Lehetséges értékek: Rolling vagy Absolute. Az Rolling érték (alapértelmezett) azt jelzi, hogy a felhasználó be van jelentkezve, amíg a felhasználó folyamatosan aktív az alkalmazásban. Az Absolute érték azt jelzi, hogy a felhasználónak újra meg kell adnia az alkalmazás munkamenetének élettartama által meghatározott időtartamot.
SessionExpiryInSeconds 0:1 Az Azure AD B2C munkamenet-cookie-jának élettartama, amely a felhasználó böngészőjében tárolt egész számként van megadva a sikeres hitelesítéskor. Az alapértelmezett érték 86 400 másodperc (24 óra). A minimális érték 900 másodperc (15 perc). A maximális érték 86 400 másodperc (24 óra).
JourneyInsights 0:1 A használni kívánt Azure-alkalmazás Insights-rendszerállapotkulcs.
ContentDefinitionParameters 0:1 A tartalomdefiníció betöltési URI-hoz hozzáfűzendő kulcsértékpárok listája.
JourneyFraming 0:1 Lehetővé teszi a szabályzat felhasználói felületének betöltését egy iframe-ben.
ScriptExecution 0:1 A támogatott JavaScript-végrehajtási módok. Lehetséges értékek: Allow vagy Disallow (alapértelmezett).

A fenti elemek használatakor hozzá kell adnia őket a UserJourneyBehaviors elemhez a táblázatban megadott sorrendben. A JourneyInsights elemet például a ScriptExecution elem előtt (fent) kell hozzáadni.

SingleSignOn

A SingleSignOn elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
Hatókör Igen Az egyszeri bejelentkezési viselkedés hatóköre. Lehetséges értékek: Suppressed, Tenant, Applicationvagy Policy. Az Suppressed érték azt jelzi, hogy a rendszer letiltja a viselkedést, és a rendszer mindig egy identitásszolgáltató kiválasztását kéri a felhasználótól. Az Tenant érték azt jelzi, hogy a rendszer a bérlő összes házirendjére alkalmazza a viselkedést. Például egy bérlő két szabályzatútja során navigáló felhasználó nem kéri az identitásszolgáltató kiválasztását. Az Application érték azt jelzi, hogy a rendszer a kérelmet küldő alkalmazás összes szabályzatára alkalmazza a viselkedést. A rendszer például nem kéri az identitásszolgáltató kiválasztását, ha egy alkalmazás két szabályzatúton halad végig. Az Policy érték azt jelzi, hogy a viselkedés csak egy szabályzatra vonatkozik. Például a megbízhatósági keretrendszer két szabályzatát végigjáró felhasználónak identitásszolgáltatói kiválasztást kell kérnie a szabályzatok közötti váltáskor.
KeepAliveInDays Nem Azt szabályozza, hogy a felhasználó mennyi ideig maradjon bejelentkezve. Az érték 0 értékre állítása kikapcsolja a KMSI-funkciókat. Az alapértelmezett beállítás 0 (letiltva). A minimum nap 1 . A maximum 90 nap. További információt a Bejelentkezés megőrzése című témakörben talál.
EnforceIdTokenHintOnLogout Nem Kényszerítse, hogy egy korábban kiadott azonosító jogkivonatot adjon át a kijelentkezés végpontjának, hogy a végfelhasználó aktuális hitelesített munkamenete legyen az ügyféllel. Lehetséges értékek: false (alapértelmezett) vagy true. További információ: Webes bejelentkezés az OpenID Connect használatával.

JourneyInsights

A JourneyInsights elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
TelemetryEngine Igen Az értéknek a következőnek kell lennie ApplicationInsights: .
InstrumentationKey Igen Az Application Insights elem rendszerállapotkulcsát tartalmazó sztring.
DeveloperMode Igen Lehetséges értékek: true vagy false. Ha trueaz Application Insights a feldolgozási folyamaton keresztül gyorsítja a telemetriát. Ez a beállítás jó a fejlesztéshez, de nagy mennyiségben korlátozott. A részletes tevékenységnaplók csak az egyéni szabályzatok fejlesztésének segítésére szolgálnak. Ne használjon fejlesztési módot éles környezetben. A naplók összegyűjtik az identitásszolgáltatóknak a fejlesztés során küldött és onnan küldött összes jogcímet. Ha éles környezetben használják, a fejlesztő felelősséget vállal a tulajdonában lévő App Insights-naplóban gyűjtött személyes adatokért. Ezek a részletes naplók csak akkor lesznek összegyűjtve, ha ez az érték be van állítva true.
ClientEnabled Igen Lehetséges értékek: true vagy false. Ha true, elküldi az Application Insights ügyféloldali szkriptet az oldalnézet és az ügyféloldali hibák nyomon követéséhez.
ServerEnabled Igen Lehetséges értékek: true vagy false. Ha true, a meglévő UserJourneyRecorder JSON-t egyéni eseményként küldi el az Application Insightsnak.
TelemetryVersion Igen Az értéknek a következőnek kell lennie 1.0.0: .

További információ: Naplók gyűjtése

ContentDefinitionParameters

Ha egyéni szabályzatokat használ az Azure AD B2C-ben, elküldhet egy paramétert egy lekérdezési sztringben. A paraméterek a HTML-végpontnak való átadásával dinamikusan változtathatja az oldal tartalmát. Például megváltoztathatja a háttérképet az Azure AD B2C regisztrációs vagy bejelentkezési oldalán egy olyan paraméter alapján, amelyet a web- vagy mobilalkalmazásából ad át. Az Azure AD B2C átadja a lekérdezési sztring paramétereit a dinamikus HTML-fájlnak, például aspx-fájlnak.

Az alábbi példa egy lekérdezési hawaii sztringben szereplő értékkel ellátott campaignId paramétert ad át:

https://login.microsoft.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?pB2C_1A_signup_signin&client_id=a415078a-0402-4ce3-a9c6-ec1947fcfb3f&nonce=defaultNonce&redirect_uri=http%3A%2F%2Fjwt.io%2F&scope=openid&response_type=id_token&prompt=login&campaignId=hawaii

A ContentDefinitionParameters elem a következő elemet tartalmazza:

Elem Események Leírás
ContentDefinitionParameter 0:n Egy tartalomdefiníció URI lekérdezési sztringéhez hozzáfűzött kulcsértékpárt tartalmazó sztring.

A ContentDefinitionParameter elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
Név Igen A kulcsérték-pár neve.

További információ: Felhasználói felület konfigurálása dinamikus tartalommal egyéni szabályzatok használatával

JourneyFraming

A JourneyFraming elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
Engedélyezve Igen Lehetővé teszi a szabályzat betöltését egy iframe-ben. Lehetséges értékek: false (alapértelmezett) vagy true.
Források Igen Azokat a tartományokat tartalmazza, amelyek betöltik az iframe-et. További információ: Azure B2C betöltése iframe-ben.

TechnicalProfile

A TechnicalProfile elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
Id Igen Az értéknek a következőnek kell lennie PolicyProfile: .

A TechnicalProfile a következő elemeket tartalmazza:

Elem Események Leírás
Megjelenített név 1:1 A műszaki profil nevét tartalmazó sztring.
Leírás 0:1 A műszaki profil leírását tartalmazó sztring.
Protokoll 1:1 Az összevonáshoz használt protokoll.
Metaadatok 0:1 A protokoll által a végponttal a függő entitás és a többi közösségi résztvevő közötti interakció konfigurálására szolgáló tranzakció során a végponttal való kommunikációhoz használt kulcs/érték párok elemének gyűjteménye.
InputClaims 1:1 A műszaki profilban bemenetként használt jogcímtípusok listája. Ezek az elemek a ClaimsSchema szakaszban vagy egy olyan házirendben már definiált Jogcímtípusra mutató hivatkozást tartalmaznak, amelytől a szabályzatfájl öröklődik.
OutputClaims 1:1 A műszaki profilban kimenetként használt jogcímtípusok listája. Ezek az elemek a ClaimsSchema szakaszban vagy egy olyan házirendben már definiált Jogcímtípusra mutató hivatkozást tartalmaznak, amelytől a szabályzatfájl öröklődik.
SubjectNamingInfo 1:1 A jogkivonatokban használt tulajdonosnév.

A Protokoll elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
Név Igen Az Azure AD B2C által támogatott érvényes protokoll neve, amelyet a műszaki profil részeként használnak. Lehetséges értékek: OpenIdConnect vagy SAML2. Az OpenIdConnect érték az OpenID Connect 1.0 protokollszabványt jelöli az OpenID alapspecifikációjának megfelelően. Az SAML2 SAML 2.0 protokoll szabványát jelöli az OASIS specifikációjának megfelelően.

Metaadatok

Ha a protokoll az SAML, a metaadat-elem a következő elemeket tartalmazza. További információ: SAML-alkalmazások azure AD B2C-ben való regisztrálásának beállításai.

Attribútum Kötelező Leírás
IdpInitiatedProfileEnabled Nem Azt jelzi, hogy az IDP által kezdeményezett folyamat támogatott-e. Lehetséges értékek: true vagy false (alapértelmezett).
XmlSignatureAlgorithm Nem Az Azure AD B2C által az SAML-válasz aláírására használt módszer. Lehetséges értékek: Sha256, Sha384, Sha512vagy Sha1. Győződjön meg arról, hogy az aláírási algoritmust mindkét oldalon ugyanazzal az értékkel konfigurálja. Csak a tanúsítvány által támogatott algoritmust használja. Az SAML Assertion konfigurálásához tekintse meg az SAML-kiállító műszaki profil metaadatait.
DataEncryptionMethod Nem Azt a módszert jelzi, amelyet az Azure AD B2C használ az adatok titkosítására az Advanced Encryption Standard (AES) algoritmus használatával. A metaadatok az SAML-válasz elemének <EncryptedData> értékét vezérli. Lehetséges értékek: Aes256 (alapértelmezett), Aes192vagy Sha512 Aes128.
KeyEncryptionMethod Nem Azt a módszert jelzi, amelyet az Azure AD B2C az adatok titkosításához használt kulcs másolatának titkosítására használ. A metaadatok az SAML-válasz elemének <EncryptedKey> értékét vezérli. Lehetséges értékek: Rsa15 (alapértelmezett) – RSA nyilvános kulcsú titkosítási standard (PKCS) 1.5-ös verziójú algoritmus, RsaOaep - RSA Optimal Aszimmetrikus titkosítási padding (OAEP) titkosítási algoritmus.
UseDetachedKeys Nem Lehetséges értékek: truevagy false (alapértelmezett). Az érték beállításakor trueaz Azure AD B2C megváltoztatja a titkosított állítások formátumát. A leválasztott kulcsok használata az EncrytedAssertion gyermekként adja hozzá a titkosított helyességi feltételt, szemben a EncryptedData-tal.
WantsSignedResponses Nem Azt jelzi, hogy az Azure AD B2C aláírja-e az Response SAML-válasz szakaszát. Lehetséges értékek: true (alapértelmezett) vagy false.
RemoveMillisecondsFromDateTime Nem Azt jelzi, hogy az ezredmásodpercek el lesznek-e távolítva az SAML-válasz dátum/idő értékeiből (ezek közé tartozik a IssueInstant, a NotBefore, a NotOnOrAfter és az AuthnInstant). Lehetséges értékek: false (alapértelmezett) vagy true.
RequestContextMaximumLengthInBytes Nem Az SAML-alkalmazások RelayState paraméter maximális hosszát jelzi. Az alapértelmezett érték 1000. A maximális érték 2048.

InputClaims

Az InputClaims elem a következő elemet tartalmazza:

Elem Események Leírás
InputClaim 0:n Egy várt bemeneti jogcímtípus.

Az InputClaim elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
ClaimTypeReferenceId Igen Hivatkozás a szabályzatfájl ClaimsSchema szakaszában már definiált ClaimType-ra.
DefaultValue Nem Alapértelmezett érték, amely akkor használható, ha a jogcím értéke üres.
PartnerClaimType Nem A jogcímet a ClaimType definícióban konfigurált más néven küldi el.

OutputClaims

Az OutputClaims elem a következő elemet tartalmazza:

Elem Események Leírás
OutputClaim 0:n A várt jogcímtípus neve azon szabályzat támogatott listájában, amelyre a függő entitás előfizet. Ez a jogcím a műszaki profil kimeneteként szolgál.

Az OutputClaim elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
ClaimTypeReferenceId Igen Hivatkozás a szabályzatfájl ClaimsSchema szakaszában már definiált ClaimType-ra.
DefaultValue Nem Alapértelmezett érték, amely akkor használható, ha a jogcím értéke üres.
PartnerClaimType Nem A jogcímet a ClaimType definícióban konfigurált más néven küldi el.

SubjectNamingInfo

A SubjectNameingInfo elemnél ön határozza meg a jogkivonat tulajdonosának értékét:

  • JWT-jogkivonat – a sub jogcím. Ez egy egyszerű név, amelyről a jogkivonat információkat állít be, például egy alkalmazás felhasználóját. Ez az érték nem módosítható, és nem rendelhető újra és nem használható újra. Biztonságos engedélyezési ellenőrzések végrehajtására használható, például amikor a jogkivonatot egy erőforrás eléréséhez használják. Alapértelmezés szerint a tulajdonosi jogcím a címtárban lévő felhasználó objektumazonosítójával van feltöltve. További információ: Jogkivonat, munkamenet és egyszeri bejelentkezés konfigurálása.
  • SAML-jogkivonat – az <Subject><NameID> elem, amely azonosítja a tárgyat. A NameId formátum módosítható.

A SubjectNamingInfo elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
Jogcímtípus Igen Hivatkozás egy kimeneti jogcím PartnerClaimType tulajdonságára. A kimeneti jogcímeket a függő entitás házirendje , a OutputClaims gyűjteményben kell meghatározni egy PartnerClaimType használatával. Például, <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />vagy <OutputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInName" />.
Formátum Nem A SAML-függő entitások esetében az SAML Assertion által visszaadott NameId formátum beállítására szolgál.

Az alábbi példa egy OpenID Connect-függő entitás definiálását mutatja be. A tulajdonosnév adatai a következőként objectIdlesznek konfigurálva:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

A JWT-jogkivonat tartalmazza a sub felhasználói objectId azonosítójú jogcímet:

{
  ...
  "sub": "6fbbd70d-262b-4b50-804c-257ae1706ef2",
  ...
}

Az alábbi példa bemutatja, hogyan definiálhat SAML-függő entitást. A tulajdonosnév adatai a objectIdkövetkezőként vannak konfigurálva, és a Névazonosító format meg lett adva:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="SAML2" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
  </TechnicalProfile>
</RelyingParty>