Aracılığıyla paylaş


RelyingParty

Not

Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.

Bağlı Olan Taraf öğesi Azure Active Directory B2C'ye (Azure AD B2C) yönelik geçerli istek için zorlanacak kullanıcı yolculuğunu belirtir. Ayrıca verilen belirtecin bir parçası olarak, bağlı olan taraf (RP) uygulamasına gereken taleplerin listesini de belirtir. Web, mobil veya masaüstü uygulaması gibi bir RP uygulaması, RP ilke dosyasını çağırır. RP ilke dosyası oturum açma, parola sıfırlama veya profil düzenleme gibi belirli bir görevi yürütür. Birden çok uygulama aynı RP ilkesini kullanabilir ve tek bir uygulama birden çok ilke kullanabilir. Tüm RP uygulamaları taleplerle aynı belirteci alır ve kullanıcı aynı kullanıcı yolculuğundan geçer.

Aşağıdaki örnekte, B2C_1A_signup_signin ilke dosyasındaki bir RelyingParty öğesi gösterilmektedir:

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

İsteğe bağlı RelyingParty öğesi aşağıdaki öğeleri içerir:

Öğe Oluşum Açıklama
DefaultUserJourney 1:1 RP uygulaması için varsayılan kullanıcı yolculuğu.
Uç Noktalar 0:1 Uç noktaların listesi. Daha fazla bilgi için bkz . UserInfo uç noktası.
UserJourneyBehaviors 0:1 Kullanıcı yolculuğu davranışlarının kapsamı.
TechnicalProfile 1:1 RP uygulaması tarafından desteklenen bir teknik profil. Teknik profil, RP uygulamasının Azure AD B2C ile iletişim kurması için bir sözleşme sağlar.

RelyingParty alt öğelerini önceki tabloda gösterilen sırayla oluşturmanız gerekir.

Uç Noktalar

Endpoints öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Açıklama
Uç nokta 1:1 Uç noktaya başvuru.

Endpoint öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Zorunlu Açıklama
Kimlik Yes Uç noktanın benzersiz tanımlayıcısı.
UserJourneyReferenceId Yes İlkedeki kullanıcı yolculuğunun tanımlayıcısı. Daha fazla bilgi için bkz. Kullanıcı yolculukları

Aşağıdaki örnekte UserInfo uç noktası olan bağlı olan taraf gösterilmektedir:

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

DefaultUserJourney

öğesi, DefaultUserJourney Temel veya Uzantılar ilkesinde tanımlanan kullanıcı yolculuğunun tanımlayıcısına bir başvuru belirtir. Aşağıdaki örneklerde RelyingParty öğesinde belirtilen kaydolma veya oturum açma kullanıcı yolculuğu gösterilmektedir:

B2C_1A_signup_signin ilkesi:

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

B2C_1A_TrustFrameWorkBase veya B2C_1A_TrustFrameworkExtensionPolicy:

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

DefaultUserJourney öğesi aşağıdaki özniteliği içerir:

Öznitelik Zorunlu Açıklama
ReferenceId Yes İlkedeki kullanıcı yolculuğunun tanımlayıcısı. Daha fazla bilgi için bkz. Kullanıcı yolculukları

UserJourneyBehaviors

UserJourneyBehaviors öğesi aşağıdaki öğeleri içerir:

Öğe Oluşum Açıklama
SingleSignOn 0:1 Bir kullanıcı yolculuğunun çoklu oturum açma (SSO) oturum davranışının kapsamı.
SessionExpiryType 0:1 Oturumun kimlik doğrulama davranışı. Olası değerler: Rolling veya Absolute. Rolling(varsayılan) değeri, kullanıcı uygulamada sürekli olarak etkin olduğu sürece kullanıcının oturum açmış olarak kaldığını gösterir. değeri, Absolute kullanıcının uygulama oturumu ömrü tarafından belirtilen süre sonunda yeniden kimlik doğrulaması yapmaya zorlandığını gösterir.
SessionExpiryInSeconds 0:1 Azure AD B2C'nin oturum tanımlama bilgisinin başarılı bir kimlik doğrulamasından sonra kullanıcının tarayıcılarında depolanan bir tamsayı olarak belirtilen ömrü. Varsayılan değer 86.400 saniyedir (24 saat). En az 900 saniyedir (15 dakika). Maksimum değer 86.400 saniyedir (24 saat).
JourneyInsights 0:1 Kullanılacak Azure Uygulaması lik İçgörüleri izleme anahtarı.
ContentDefinitionParameters 0:1 İçerik tanımı yük URI'sine eklenecek anahtar değer çiftlerinin listesi.
JourneyFraming 0:1 Bu ilkenin kullanıcı arabiriminin bir iframe'e yüklenmesine izin verir.
ScriptExecution 0:1 Desteklenen JavaScript yürütme modları. Olası değerler: Allow veya Disallow (varsayılan).

Yukarıdaki öğeleri kullandığınızda, bunları tabloda belirtilen sırayla UserJourneyBehaviors öğenize eklemeniz gerekir. Örneğin, JourneyInsights öğesi ScriptExecution öğesinden önce (yukarıda) eklenmelidir.

SingleSignOn

SingleSignOn öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Zorunlu Açıklama
Scope Yes Çoklu oturum açma davranışının kapsamı. Olası değerler: Suppressed, Tenant, Applicationveya Policy. Suppressed değeri, davranışın gizlendiğini gösterir ve kullanıcıdan her zaman bir kimlik sağlayıcısı seçimi istenir. Tenant değeri, davranışın kiracıdaki tüm ilkelere uygulandığını gösterir. Örneğin, bir kiracı için iki ilke yolculuğunda gezinen bir kullanıcıdan kimlik sağlayıcısı seçimi istenmez. Application değeri, davranışın isteği yapan uygulama için tüm ilkelere uygulandığını gösterir. Örneğin, bir uygulama için iki ilke yolculuğunda gezinen bir kullanıcıdan kimlik sağlayıcısı seçimi istenmez. Policy değeri, davranışın yalnızca bir ilke için geçerli olduğunu gösterir. Örneğin, bir güven çerçevesi için iki ilke yolculuğunda gezinen bir kullanıcıdan ilkeler arasında geçiş yaparken kimlik sağlayıcısı seçimi istenir.
KeepAliveInDays Hayır Kullanıcının ne kadar süreyle oturum açtığını denetler. Değeri 0 olarak ayarlamak KMSI işlevini kapatır. Varsayılan değerdir 0 (devre dışı). En az 1 gün. En fazla gün sayısıdır 90 . Daha fazla bilgi için bkz . Oturumumu açık tutma.
EnforceIdTokenHintOnLogout Hayır Son kullanıcının istemciyle geçerli kimliği doğrulanmış oturumu hakkında ipucu olarak, daha önce verilmiş bir kimlik belirtecini oturumu kapatma uç noktasına geçirmeye zorla. Olası değerler: false (varsayılan) veya true. Daha fazla bilgi için bkz . OpenID Connect ile web oturumu açma.

JourneyInsights

JourneyInsights öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Zorunlu Açıklama
Telemetriİndir Yes Değer olmalıdır ApplicationInsights.
InstrumentationKey Yes Application Insights öğesinin izleme anahtarını içeren dize.
Geliştirici Modu Yes Olası değerler: true veya false. ise true, Application Insights işleme işlem hattı aracılığıyla telemetriyi hızlandırıyor. Bu ayar geliştirme için iyidir, ancak yüksek hacimlerde kısıtlanır. Ayrıntılı etkinlik günlükleri yalnızca özel ilkelerin geliştirilmesine yardımcı olacak şekilde tasarlanmıştır. Üretimde geliştirme modunu kullanmayın. Günlükler, geliştirme sırasında kimlik sağlayıcılarına gönderilen ve bu sağlayıcılardan gönderilen tüm talepleri toplar. Üretimde kullanılırsa geliştirici, sahip olduğu App Insights günlüğünde toplanan kişisel verilerin sorumluluğunu üstlenir. Bu ayrıntılı günlükler yalnızca bu değer olarak ayarlandığında truetoplanır.
ClientEnabled Yes Olası değerler: true veya false. ise true, sayfa görünümünü ve istemci tarafı hatalarını izlemek için Application Insights istemci tarafı betiğini gönderir.
ServerEnabled Yes Olası değerler: true veya false. ise true, mevcut UserJourneyRecorder JSON dosyasını Application Insights'a özel bir olay olarak gönderir.
TelemetryVersion Yes Değer olmalıdır 1.0.0.

Daha fazla bilgi için bkz . Günlükleri Toplama

ContentDefinitionParameters

Azure AD B2C'de özel ilkeler kullanarak bir sorgu dizesinde parametre gönderebilirsiniz. Parametreyi HTML uç noktanıza ileterek sayfa içeriğini dinamik olarak değiştirebilirsiniz. Örneğin web veya mobil uygulamanızdan ilettiğiniz bir parametreye göre Azure AD B2C kaydolma veya oturum açma sayfanızdaki arka plan görüntüsünü değiştirebilirsiniz. Azure AD B2C, sorgu dizesi parametrelerini aspx dosyası gibi dinamik HTML dosyanıza geçirir.

Aşağıdaki örnek, sorgu dizesinde değeri hawaii ile adlı campaignId bir parametre geçirir:

https://login.microsoft.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?pB2C_1A_signup_signin&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=http%3A%2F%2Fjwt.io%2F&scope=openid&response_type=id_token&prompt=login&campaignId=hawaii

ContentDefinitionParameters öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Açıklama
ContentDefinitionParameter 0:n İçerik tanımı yük URI'sinin sorgu dizesine eklenen anahtar değer çiftini içeren dize.

ContentDefinitionParameter öğesi aşağıdaki özniteliği içerir:

Öznitelik Zorunlu Açıklama
Adı Yes Anahtar değer çiftinin adı.

Daha fazla bilgi için bkz . Özel ilkeler kullanarak dinamik içerikle kullanıcı arabirimini yapılandırma

JourneyFraming

JourneyFraming öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Zorunlu Açıklama
Etkin Yes Bu ilkenin bir iframe içine yüklenmesini sağlar. Olası değerler: false (varsayılan) veya true.
Kaynaklar Yes iframe'i yükleyecek etki alanlarını içerir. Daha fazla bilgi için bkz . Azure B2C'yi iframe'de yükleme.

TechnicalProfile

TechnicalProfile öğesi aşağıdaki özniteliği içerir:

Öznitelik Zorunlu Açıklama
Kimlik Yes Değer olmalıdır PolicyProfile.

TechnicalProfile aşağıdaki öğeleri içerir:

Öğe Oluşum Açıklama
DisplayName 1:1 Teknik profilin adını içeren dize.
Açıklama 0:1 Teknik profilin açıklamasını içeren dize.
Protokol 1:1 Federasyon için kullanılan protokol.
Meta veri 0:1 Bağlı olan taraf ve diğer topluluk katılımcıları arasındaki etkileşimi yapılandırmak üzere bir işlem boyunca uç noktayla iletişim kurmak için protokol tarafından kullanılan Anahtar/değer çiftlerinin Öğesi koleksiyonu.
InputClaims 1:1 Teknik profilde giriş olarak alınan talep türlerinin listesi. Bu öğelerin her biri, ClaimsSchema bölümünde veya bu ilke dosyasının devraldığı bir ilkede önceden tanımlanmış bir ClaimType'a başvuru içerir.
OutputClaims 1:1 Teknik profilde çıktı olarak alınan talep türlerinin listesi. Bu öğelerin her biri, ClaimsSchema bölümünde veya bu ilke dosyasının devraldığı bir ilkede önceden tanımlanmış bir ClaimType'a başvuru içerir.
SubjectNamingInfo 1:1 Belirteçlerde kullanılan konu adı.

Protocol öğesi aşağıdaki özniteliği içerir:

Öznitelik Zorunlu Açıklama
Adı Yes Azure AD B2C tarafından desteklenen ve teknik profilin bir parçası olarak kullanılan geçerli bir protokolün adı. Olası değerler: OpenIdConnect veya SAML2. değeri, OpenIdConnect OpenID temel belirtimine göre OpenID Connect 1.0 protokol standardını temsil eder. , SAML2 OASIS belirtimine göre SAML 2.0 protokol standardını temsil eder.

Meta veri

Protokol olduğunda SAML, meta veri öğesi aşağıdaki öğeleri içerir. Daha fazla bilgi için bkz . Azure AD B2C'de SAML uygulaması kaydetme seçenekleri.

Öznitelik Zorunlu Açıklama
IdpInitiatedProfileEnabled Hayır IDP tarafından başlatılan akışın desteklenip desteklenmediğini gösterir. Olası değerler: true veya false (varsayılan).
XmlSignatureAlgorithm Hayır Azure AD B2C'nin SAML Yanıtını imzalamak için kullandığı yöntem. Olası değerler: Sha256, Sha384, Sha512veya Sha1. İmza algoritmasını her iki tarafta da aynı değerle yapılandırdığınızdan emin olun. Yalnızca sertifikanızın desteklediği algoritmayı kullanın. SAML Onayını yapılandırmak için bkz . SAML veren teknik profil meta verileri.
DataEncryptionMethod Hayır Gelişmiş Şifreleme Standardı (AES) algoritmasını kullanarak Azure AD B2C'nin verileri şifrelemek için kullandığı yöntemi gösterir. Meta veriler, SAML yanıtında öğesinin değerini <EncryptedData> denetler. Olası değerler: Aes256 (varsayılan), Aes192, Sha512veya Aes128.
KeyEncryptionMethod Hayır Azure AD B2C'nin verileri şifrelemek için kullanılan anahtarın kopyasını şifrelemek için kullandığı yöntemi gösterir. Meta veriler, SAML yanıtında öğesinin değerini <EncryptedKey> denetler. Olası değerler: Rsa15 (varsayılan) - RSA Ortak Anahtar Şifreleme Standardı (PKCS) Sürüm 1.5 algoritması, RsaOaep - RSA Optimal Asimetrik Şifreleme Doldurma (OAEP) şifreleme algoritması.
UseDetachedKeys Hayır Olası değerler: trueveya false (varsayılan). Değeri olarak ayarlandığında true, Azure AD B2C şifrelenmiş onayların biçimini değiştirir. Ayrılmış anahtarların kullanılması şifrelenmiş onaylama işlemini EncryptedData'nın aksine EncrytedAssertion'ın alt öğesi olarak ekler.
WantsSignedResponses Hayır Azure AD B2C'nin SAML yanıtının bölümünü imzalayıp imzalamadığını Response gösterir. Olası değerler: true (varsayılan) veya false.
RemoveMillisecondsFromDateTime Hayır Milisaniyelerin SAML yanıtı içindeki tarih saat değerlerinden kaldırılıp kaldırılmayacağını gösterir (bunlar IssueInstant, NotBefore, NotOnOrAfter ve AuthnInstant'tır). Olası değerler: false (varsayılan) veya true.
RequestContextMaximumLengthInBytes Hayır SAML uygulamaları RelayState parametresinin uzunluk üst sınırını gösterir. Varsayılan değer 1000’dir. Maksimum değer 2048'dir.

InputClaims

InputClaims öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Açıklama
InputClaim 0:n Beklenen giriş talep türü.

InputClaim öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Zorunlu Açıklama
ClaimTypeReferenceId Yes İlke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir ClaimType başvurusu.
DefaultValue Hayır Talep değeri boşsa kullanılabilecek varsayılan değer.
PartnerClaimType Hayır Talebi, ClaimType tanımında yapılandırıldığı gibi farklı bir adla gönderir.

OutputClaims

OutputClaims öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Açıklama
OutputClaim 0:n Bağlı olan tarafın abone olduğu ilke için desteklenen listede beklenen talep türünün adı. Bu talep, teknik profil için bir çıkış görevi görür.

OutputClaim öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Zorunlu Açıklama
ClaimTypeReferenceId Yes İlke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir ClaimType başvurusu.
DefaultValue Hayır Talep değeri boşsa kullanılabilecek varsayılan değer.
PartnerClaimType Hayır Talebi, ClaimType tanımında yapılandırıldığı gibi farklı bir adla gönderir.

SubjectNamingInfo

SubjectNamingInfo öğesiyle belirteç konusunun değerini denetlersiniz:

  • JWT belirteci - sub talep. Bu, belirtecin bir uygulamanın kullanıcısı gibi bilgileri onayladığı bir sorumludur. Bu değer sabittir ve yeniden atanamaz veya yeniden kullanılamaz. Belirteç bir kaynağa erişmek için kullanıldığında olduğu gibi güvenli yetkilendirme denetimleri gerçekleştirmek için kullanılabilir. Varsayılan olarak, konu talebi dizindeki kullanıcının nesne kimliğiyle doldurulur. Daha fazla bilgi için bkz . Belirteç, oturum ve çoklu oturum açma yapılandırması.
  • SAML belirteci - <Subject><NameID> konu öğesini tanımlayan öğesi. NameId biçimi değiştirilebilir.

SubjectNamingInfo öğesi aşağıdaki özniteliği içerir:

Öznitelik Zorunlu Açıklama
ClaimType Yes Çıkış talebine ait PartnerClaimType başvurusu. Çıkış talepleri, PartnerClaimType ile outputClaims koleksiyonuna bağlı olan taraf ilkesinde tanımlanmalıdır. Örneğin, <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />veya <OutputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInName" />.
Biçimlendir Hayır SAML Onayında döndürülen NameId biçimini ayarlamak için SAML Bağlı olan taraflar için kullanılır.

Aşağıdaki örnekte OpenID Connect bağlı olan tarafın nasıl tanımlanacağı gösterilmektedir. Konu adı bilgileri olarak yapılandırılır objectId:

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

JWT belirteci, user objectId ile talebi içerir sub :

{
  ...
  "sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  ...
}

Aşağıdaki örnekte SAML bağlı olan tarafın nasıl tanımlanacağı gösterilmektedir. Konu adı bilgileri olarak objectIdyapılandırılır ve NameId format sağlanmıştır:

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