Nastavitve ponudnika Azure AD B2C za portale

Azure Active Directory (Azure AD) v storitvah Office 365 in Dynamics 365 zagotavlja preverjanje pristnosti zaposlenih oz. notranje preverjanje pristnosti. Azure Active Directory B2C razširja ta model preverjanja pristnosti ter omogoča vpis zunanjih strank prek lokalnih poverilnic in povezovanje z različnimi razširjenimi ponudniki identitet za družabna omrežja.

Lastnik portala lahko portal konfigurira tako, da sprejema Azure AD B2C kot ponudnika identitete. Azure AD B2C podpira Open ID Connect za povezovanje.

Pri konfiguriranju rešitve Azure AD B2C kot ponudnika identitet za portal se ustvari več vrednosti, ki jih uporabite pozneje pri konfiguriranju portala. Te vrednosti lahko zabeležite v spodnji tabeli. Pri konfiguriranju portala ime spremenljivke zamenjajte z vrednostmi, ki jih zabeležite tukaj.

Ime spremenljivke Vrednost Opis
Application-Name Ime aplikacije, ki predstavlja portal kot odvisno stran
Application-ID ID aplikacije, povezan z aplikacijo, ustvarjeno v Azure Active Directory B2C
Policy-Signin-URL URL izdajatelja (ISS), določen v končni točki metapodatkov
Federation-Name Enolično ime za določanje vrste ponudnika povezovanja, kot je »B2C« (prodaja strankam). Uporabljeno bo v imenih nastavitve mesta za združevanje nastavitev konfiguracije za tega ponudnika.

Uporaba Azure AD B2C kot ponudnika identitet za portal

  1. Vpišite se v portal Azure.
  2. Ustvarite najemnika Azure AD B2C.
  3. Izberite Azure AD B2C v vrstici za krmarjenje na skrajni levi.
  4. Ustvarite aplikacijo Azure.

    Opomba

    Za polje Dovoli implicitni tok izberite Da in v polje URL odgovora vnesite URL svojega portala. Vrednost v polju URL odgovora mora biti v obliki [portal domain]/signin-[Federation-Name].

  5. Kopirajte ime aplikacije in ga vnesite kot vrednost za Application-Name v zgornji tabeli.

  6. Kopirajte ID aplikacije in ga vnesite kot vrednost za Application-ID v zgornji tabeli.
  7. Ustvarite pravilnik za prijavo ali vpis.
  8. Izberite pravilnik in nato izberite Uredi.
  9. Izberite možnost Konfiguracija žetona, seje in enotne prijave.
  10. Na seznamu Zahtevek izdajatelja (iss) izberite URL, ki v poti vsebuje /tfp.
  11. Shranite pravilnik.
  12. Izberite URL v polju Končna točka metapodatkov za ta pravilnik.
  13. Kopirajte vrednost v polju izdajatelja in ga vnesite kot vrednost za Policy-Signin-URL v zgornji tabeli.

Konfiguracija portala

Ko ustvarite in konfigurirate najemnika B2C v Azure, morate konfigurirati portal za povezovanje z Azure AD B2C z uporabo protokola Open ID Connect. Ustvarite enolično ime za povezovanje z Azure AD B2C – na primer B2C – in to ime shranite kot vrednost za spremenljivko Federation-Name v zgornji tabeli.

Konfiguriranje portala

  1. Vpis v storitev Dynamics 365.
  2. Pomaknite se v razdelek Portali > Spletna mesta.
  3. Izberite zapis spletnega mesta, za katerega je treba omogočiti Azure AD B2C.
  4. Pomaknite se v razdelek Nastavitve mesta.
  5. Ustvarite naslednje nastavitve mesta:

    • Ime: Authentication/OpenIdConnect/[Federation-Name]/Authority

      Vrednost: [Policy-Signin-URL]

    • Ime: Authentication/OpenIdConnect/[Federation-Name]/ClientId

      Vrednost: [Application-ID]

    • Ime: Authentication/OpenIdConnect/[Federation-Name]/RedirectUri

      Vrednost: [portal domain]/signin-[Federation-Name]

      Na primer https://mysite.com/signin-b2c.

  6. Če želite omogočiti izpis prek povezanega ponudnika identitet, ustvarite naslednje nastavitve mesta:

    • Ime: Authentication/OpenIdConnect/[Federation-Name]/ExternalLogoutEnabled

      Vrednost: true

  7. Če želite portal programirati za enega ponudnika identitet, ustvarite to nastavitev mesta:

    • Ime: Authentication/Registration/LoginButtonAuthenticationType

      Vrednost: [Policy-Signin-URL]

  8. Če želite omogočiti ponastavitev gesla, ustvarite potrebne nastavitve mesta, opisane tukaj.

  9. Če želite omogočiti preslikavo zahtevkov, ustvarite potrebne nastavitve mesta, opisane tukaj.

Celoten seznam povezanih nastavitev mesta je na voljo tukaj.

Ponastavitev gesla

Če želite omogočiti ponastavitev gesla v lokalnih računih Azure AD B2C, so potrebne naslednje nastavitve mesta:

Nastavitev mesta Opis
Authentication/OpenIdConnect/[Federation-Name/PasswordResetPolicyId ID pravilnika za ponastavitev gesla
Authentication/OpenIdConnect/[Federation-Name]/ValidIssuers Seznam izdajateljev, ločenih z vejico, ki vključuje [Policy-Signin-URL] in izdajatelja pravilnika za ponastavitev gesla.
Authentication/OpenIdConnect/[Federation-Name]/DefaultPolicyId ID pravilnika za prijavo ali vpis.

Ustvarite ali konfigurirate lahko naslednje nastavitve mesta v portalih za podporo Azure AD B2C kot ponudnika identitete:

Nastavitev mesta Opis
Authentication/Registration/ProfileRedirectEnabled Določa, ali lahko portal uporabnike po uspešnem vpisu preusmeri na stran s profilom. Možnost je privzeto nastavljena na »true«.
Authentication/Registration/EmailConfirmationEnabled Določa, ali je potrebno preverjanje veljavnosti e-poštnega naslova. Možnost je privzeto nastavljena na »true«.
Authentication/Registration/LocalLoginEnabled Določa, ali je potreben lokalni vpis. Možnost je privzeto nastavljena na »true«.
Authentication/Registration/ExternalLoginEnabled Omogoči ali onemogoči zunanje preverjanje pristnosti.
Authentication/Registration/AzureADLoginEnabled Omogoči ali onemogoči Azure AD kot zunanjega ponudnika identitet. Možnost je privzeto nastavljena na »true«.
Authentication/OpenIdConnect/[Federation-Name]/ExternalLogoutEnabled Omogoči ali onemogoči izpis prek povezanega ponudnika identitet. Če je možnost nastavljena na »true«, so uporabniki pri izpisu iz portala preusmerjeni na izpis prek povezanega ponudnika identitet. Če je možnost nastavljena na »false«, so uporabniki izpisani samo iz portala. Možnost je privzeto nastavljena na »false«.
Authentication/LoginTrackingEnabled Omogoči ali onemogoči sledenje uporabnikovemu zadnjemu vpisu. Če je možnost nastavljena na »true«, se datum in čas prikažeta v polju Zadnji uspešen vpis v zapisu stika. Možnost je privzeto nastavljena na »false«.
Authentication/OpenIdConnect/[Federation-Name]/RegistrationEnabled Omogoči ali onemogoči zahtevo za registracijo za obstoječega ponudnika identitet. Če je možnost nastavljena na »true«, se registracija za obstoječega ponudnika omogoči samo, če je tudi nastavitev mesta »Authentication/Registration/Enabled« nastavljena na »true«. Možnost je privzeto nastavljena na »true«.
Authentication/OpenIdConnect/[Federation-Name]/PostLogoutRedirectUri Določa URL znotraj portala, kamor so preusmerjeni uporabniki po izpisu.

Če je registracija onemogočena za uporabnika, ki je že uporabil povabilo, se prikaže sporočilo z uporabo izrezka z naslednjo vsebino:

Ime: Account/Register/RegistrationDisabledMessage

Vrednost: Registracija je onemogočena.

Prilagajanje uporabniškega vmesnika Azure AD B2C.

Azure AD B2C podpira prilagajanje uporabniškega vmesnika. Prilagodite lahko uporabniško izkušnjo za scenarije vpisa in izpisa.

1. korak: ustvarjanje spletne predloge

Vpišite se v Dynamics 365 in ustvari spletno predlogo z uporabo naslednjih vrednosti:

Ime: Azure AD B2C Custom Page

Vir: Uporabite naslednji vzorec izvornega HTML-ja za spletno predlogo.

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>
      {{ page.title | h }}
    </title>
                        <link href="{{ request.url | base }}/bootstrap.min.css" rel="stylesheet">
                        <link href="{{ request.url | base }}/theme.css" rel="stylesheet">
                        <style>
                          .page-heading {
            padding-top: 20px;
      }
      .page-copy {
            margin-bottom: 40px;
      }
      .highlightError {
        border: 1px solid #cb2027!important;
        background-color: #fce8e8!important;
      }
      .attrEntry .error.itemLevel {
        display: none;
        color: #cb2027;
        font-size: .9em;
      }
      .error {
        color: #cb2027;
      }
      .entry {
        padding-top: 8px;
        padding-bottom: 0!important;
      }
      .entry-item {
        margin-bottom: 20px;
      }
      .intro {
        display: inline;
        margin-bottom: 5px;
      }
      .pageLevel {
          width: 293px;
          text-align: center;
          margin-top: 5px;
          padding: 5px;
          font-size: 1.1em;
          height: auto;
      }
      #panel, .pageLevel, .panel li, label {
          display: block;
      }
      #forgotPassword {
          font-size: .75em;
          padding-left: 5px;
      }
      #createAccount {
          margin-left: 5px;
      }
      .working {
          display: none;
          background: url(data:image/gif;base64,R0lGODlhbgAKAPMAALy6vNze3PTy9MTCxOTm5Pz6/Ly+vNTS1Pz+/�N0Jp6BUJ9EBIISAQAh+QQJCQAKACxRAAIABgAGAAAEE1ClYU4RIIMTdCaegVCfRASCEgEAOw==) no-repeat;
          height: 10px;
          width: auto;
      }
      .divider {
        margin-top: 20px;
        margin-bottom: 10px;
      }
      .divider h2 {
        display: table;
        white-space: nowrap;
        font-size: 1em;
        font-weight: 700;
      }
      .buttons {
        margin-top: 10px;
      }
      button {
            width:auto;
            min-width:50px;
            height:32px;
            margin-top:2px;
            -moz-border-radius:0;
            -webkit-border-radius:0;
            border-radius:0;
            background:#2672E6;
            border:1px solid #FFF;
            color:#fff;
            transition:background 1s ease 0s;
            font-size:100%;
            padding:0 2px
      }

      button:hover {
            background:#0F3E83;
            border:1px solid #3079ed;
            -moz-box-shadow:0 0 0;
            -webkit-box-shadow:0 0 0;
            box-shadow:0 0 0
      }
      .password-label label {
        display: inline-block;
        vertical-align: baseline;
      }
      img {
            border:0
      }
      .divider {
            margin-top:20px;
            margin-bottom:10px
      }
      .divider h2 {
            display:table;
            white-space:nowrap;
            font-size:1em;
            font-weight:700
      }
      .divider h2:after,.divider h2:before {
            border-top:1px solid #B8B8B8;
            content:'';
            display:table-cell;
            position:relative;
            top:.7em;
            width:50%
      }
      .divider h2:before {
            right:1.8%
      }
      .divider h2:after {
            left:1.8%
      }
      .verificationErrorText {
            color:#D63301
      }
      .options div {
            display:inline-block;
            vertical-align:top;
            margin-top:7px
      }
      .accountButton,.accountButton:hover {
            background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAh1BMVEX///9QUFBOTk5LS0tERERCQkI/Pz9ISEg6OjpGRkZNTU08PDyAgID09PSlpaWWlpZxcXFgYGBZWVlUVFT6+vrx8fHt7e3s7Ozo6Oji4uLJycnGxsa4uLiqqqqgoKCNjY2JiYmGhoZra2tmZmb7+/vu7u7d3d3U1NTNzc2+vr67u7usrKx7e3vprNQnAAAA8klEQVQ4y63Q127DMAxAUZpDwyMeSdqsNqu7/f/va6zahgGJKAr0vgk6DyQh+6V/BiTOOeNRA9zuAWBdM6WBlPDTvaUUoAuMrT0mgNvA1IJjQB3MKjACvp6DK0WAH+agtH8H9jQHLUUgz7Uhx8xOXzNESxirLCYA2mw8tacI5FyIYXq8A9ge2Qs6oTnw2e2ruho2rjBcXJ4ADh3jBOQLQnVhRFx2gNDZ4ACogbHXj/ft9Dj5AcgbJFu5AThQWuYBIGmgtAFQo4EFB+CPGthJAPypgY3BHsheA5UNwLyAvsYNoDyroKUe4EoFTQ/yDtTONvsGUJ8KTUYyH+UAAAAASUVORK5CYII=);
            background-repeat:no-repeat
      }
      .accountButton {
            border:1px solid #FFF;
            color:#FFF;
            margin-left:0;
            margin-right:2px;
            transition:background-color 1s ease 0s;
            -moz-border-radius:0;
            -webkit-border-radius:0;
            border-radius:0;
            text-align:center;
            word-wrap:break-word;
            height:34px;
            width:158px;
            padding-left:30px;
            background-color:#505050;
      }
      .accountButton:hover {
            background-color:#B9B9B9;
            border:1px solid #FFF;
            -moz-box-shadow:0 0 0;
            -webkit-box-shadow:0 0 0;
            box-shadow:0 0 0
      }
      .accountButton:focus {
            outline:gold solid 1px
      }
      #MicrosoftAccountExchange {
            background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEU1pe/////t+v4uoe5btvNixPVVwfUsoe9tyfXU7/y95vu24vrd9f5NtfLH6/ys3/o/sPE6qfD2/f+f2vnAysuQAAAAaElEQVQ4y93SORKAIAwFUEGCsoT1/nd1JkkDFhY24qt+8VMkk20lu6DAaVBOBsVKsuO8aYo08IqlYyxoRTQExfyKheRIgu5Yl4KoVhSUgNOhoiYRsmb5g2u+LtzXDNOhjKgoAZ9/8k8uZWsGqcIav5wAAAAASUVORK5CYII=);
            background-color:#33A7F2
      }
      #MicrosoftAccountExchange:hover {
            background-color:#ADDBF9
      }
      #GoogleExchange {
            background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEXcTkH////cTD/bSj3ZQDLYOyzaRDbeV0vbSDrZPS/66Obyv7rsnpfpkorjcWfgZlvXOCr++Pj5393haFz88/L88fD67Or319T1zsv1zsrxuLPuqaLuqKLoi4LlfXTgYlbWMyTWMiPwtrHwta/fXVH/sCIIAAAAmElEQVQ4y+2RyQ7DIBBDMcwAIXvovqXb/39jRaX0AEmr5px3tSV7PGLhX6TVRFpN61l9zPNS6kn9gDcXO67zDnCnO2BCiNIyMtgKKJgyY2zQ68JEDtqju0nFTcOsxPUMw1GDDUqt+tY51/YNVlhvacTgEfCDIY0Q/lkBSg4RaUmmDo4/JdMzHy1Q2ejMeCj6PrXQP5+1MI8X0Y4HL4c826EAAAAASUVORK5CYII=);
            background-color:#DC4E41
      }
      #GoogleExchange:hover {
            background-color:#F1B8B3
      }
      #TwitterExchange {
            background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAdVBMVEVgqd3///9Ypdtdp9xaptxSotpQodlNn9lWo9pUo9rX6Pa+2vGTw+iLvuZlqt79/P7K4PO62O+y0+6hyutysuD2+fzi7vne6/fT5PTE3fKs0O2lzeuZx+l7tuJqrd71+Pzz9vzn8PnQ4/SCueSAueNsrt9InNh7sQwBAAAAwklEQVQ4y92PRw6EMAwAXeIkdBbY3uv/n7gSAoLDD5hbPCPZgZVihEgYgNSUpmfS7bfbtHS2nReyL2Qoc+yp8ZRAwCEWjgGAPQ7sssKoAGsWBrrgyMZCwD77Uel+59E3Tt14xZ7qlY7BRf1CDgeMKMw8sBXGlKxWtLGvHCgkQ80m0YHpjjq4sQ74pn1mISLJVSAMiwJO98l/TWSNF1eGKzqKfZ7Vj0mnHHwodpP+WIYlZP373DTtVWxYr2FD3pOBdfIHhOAHYHQI9VgAAAAASUVORK5CYII=);
            background-color:#60A9DD
      }
      #TwitterExchange:hover {
            background-color:#BFDCF1
      }
      #FacebookExchange {
            background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAaVBMVEU7W5z///85Wps3WJsiRo8xU5fw8vYyUpY0VZiAj70pS5OBkb0vUpb7+fwsTpTR1ud6irllerBPaqX09fnx8vfs7fSQoMZxg7VsgLNGY6FCX58ZP4v++/7r7vTZ3OupstGIlsFWcalDYaCK3qwDAAAAnklEQVQ4y+XQyw7CIBAFUBgc5VUoWGtb3/7/RyoYkyZAiSsXvdt7kstA/hRg/B0GpZ6byQ3Dw0NBaH+lMYRle3T0kwayACRdBrr/gnN+QtpQWv8cR4DswiUAjozlz4RdF8AmlnmwjaDQImoZwQkRedoToUS7D+ColGoTwQidx8oEQDMHN1MBva5MOL70SCHuE1TOhOpHrRt0FWAOP4IX8PsG2qEOR30AAAAASUVORK5CYII=);
            background-color:#3B5B9C
      }
      #FacebookExchange:hover {
            background-color:#B0BDD7
      }
      #LinkedInExchange {
            background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEUAe7b///8AdrMklscAc7EAeLUAcbB5ttifzeMqmckAdLIAaqz7+/6PxeAShr0CgLkAba4nmMctksTv9Puw1eij0OWGvNtfrNJNo80YjMAeib/D4vGt3Oy82+yfzOOCvtyJvdx3tddirtI/ncoxmMj9KsrQAAAAw0lEQVQ4y9WSVw7DIAxAG8CkjJDVzO5x/zMWk0RNJaB/kfo+sGUeCMvstgI4J7F9aS5NxSLnTWLpZVDgexTqIiycUNBhgTxRyCKPYJ3dl7sITCkO+FyLXaWU310DscASOesf3ahWChGJ5cb4ASO5Joiu2EegWEmZa1c3yUwOHmHNuQgJup4CgF8YlKpcMhKvkNmb1REz6hdetsyziIBldv8lpH8ouGm28zQFCu2SOSAXlJYGYCgpFThEMFPm/zCryja8Acy7CRfMrcKPAAAAAElFTkSuQmCC);
            background-color:#0077B5
      }
      #LinkedInExchange:hover {
            background-color:#99CAE1
      }
      #AmazonExchange {
            background-image:url(https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_156x32.png);
            background-color:#FFF;
            color:transparent
      }

      #next {
            -moz-user-select:none;
            user-select:none;
            cursor:pointer;
            width:auto;
            padding-left:10px;
            padding-right:10px;
            height:30.5px;
            -moz-border-radius:0;
           -webkit-border-radius:0;
            border-radius:0;
            background:#2672E6;
            border:1px solid #FFF;
            color:#fff;
            transition:background 1s ease 0s;
            font-size:100%
      }
      #next:hover {
            background:#0F3E83;
            border:1px solid #FFF;
            box-shadow:0 0 0
      }
      #next:hover,.accountButton:hover {
            -moz-box-shadow:0 0 0;
            -webkit-box-shadow:0 0 0;
            box-shadow:0 0 0;
      }
                        </style>
  </head>
  <body>
    <div class="navbar navbar-inverse navbar-static-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <div class="visible-xs-block">
            {{ snippets["Mobile Header"] }}
          </div>
          <div class="visible-sm-block visible-md-block visible-lg-block navbar-brand">
            {{ snippets["Navbar Left"] }}
          </div>
        </div>
      </div>
    </div>
    <div class="container">
      <div class="page-heading">
        <ul class="breadcrumb">
          <li>
            <a href="{{ request.url | base }}" title="Home">Home</a>
          </li>
          <li class="active">{{ page.title | h}}</li>
        </ul>
        {% include 'Page Header' %}
     </div>
     <div class="row">
      <div class="col-md-12">
        {% include 'Page Copy' %}
        <div id="api"></div>
      </div>
     </div>
    </div>
    <footer role="contentinfo">
      <div class="footer-top hidden-print">
        <div class="container">
          <div class="row">
            <div class="col-md-6 col-sm-12 col-xs-12 text-left">
               {{ snippets["About Footer"] }}
            </div>
            <div class="col-md-6 col-sm-12 col-xs-12 text-right">
              <ul class="list-social-links">
                <li><a href="#"><span class="sprite sprite-facebook_icon"></span></a></li>
                <li><a href="#"><span class="sprite sprite-twitter_icon"></span></a></li>
                <li><a href="#"><span class="sprite sprite-email_icon"></span></a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      <div class="footer-bottom hidden-print">
        <div class="container">
          <div class="row">
            <div class="col-md-4 col-sm-12 col-xs-12 text-left">
               {{ snippets["Footer"] | liquid }}
            </div>
            <div class="col-md-8 col-sm-12 col-xs-12 text-left ">
            </div>   
          </div>
        </div>
      </div>
    </footer>
  </body>
</html>

2. korak: ustvarjanje predloge strani

Vpišite se v Dynamics 365 in ustvarite naslednjo predlogo strani:

  • Ime: Azure AD B2C Custom Page
  • Vrsta: spletna predloga
  • Spletna predloga: stran Azure AD B2C po meri
  • Uporabi glavo in nogo spletnega mesta: počistite to potrditveno polje

3. korak: ustvarjanje spletne strani

Vpišite se v Dynamics 365 in ustvarite naslednjo spletno stran:

  • Ime: Sign-in
  • Nadrejena stran: začetna stran
  • Delni Url: azure-ad-b2c-sign-in
  • Predloga strani: stran Azure AD B2C po meri
  • Stanje objave: Objavljeno

4. korak: ustvarjanje nastavitev mesta

Nastavitve mesta so zahtevane za konfiguracijo skupne rabe virov iz različnih lokacij (CORS), ki omogoči, da Azure AD B2C zahteva stran po meri in vstavi uporabniški vmesnik za vpis ali izpis. Vpišite se v Dynamics 365 in ustvarite naslednje nastavitve mesta.

Ime Vrednost
HTTP/Access-Control-Allow-Methods GET, OPTIONS
HTTP/Access-Control-Allow-Origin https://login.microsoftonline.com

Za celoten seznam drugih nastavitev CORS glejte Podpora za protokol CORS.

5. korak: konfiguracija storitve Azure

  1. Vpišite se v Portal Azure.
  2. Pomaknite se na list Upravljanje najemnika Azure AD B2C.
  3. Pojdite v Nastavitve > Pravilniki za prijavo ali vpis. Prikaže se seznam razpoložljivih pravilnikov.
  4. Izberite pravilnik, ki ga želite urediti.
  5. Izberite Uredi.
  6. Izberite Urejanje pravilnika > Prilagajanje uporabniškega vmesnika strani > Enotna stran za prijavo ali vpis
  7. Možnost Uporabi strani po meri nastavite na Da.
  8. Za možnost URI strani po meri nastavite URL spletne strani Azure AD B2C po meri, ustvarjene v Dynamics 365 v 3. koraku tega postopka. Na primer: https://mydomain.com/azure-ad-b2c-sign-in.
  9. Izberite V redu.

Preslikovanje zahtevkov

Ko se uporabniki vpišejo, bodisi prvič bodisi pozneje, zunanji ponudnik identitet zagotavlja zahtevke na podlagi svoje zbirke podatkov, povezane z vpisi uporabnikov. Te zahtevke je mogoče konfigurirati v ponudniku identitet.

E-poštni zahtevki Azure AD B2C

Azure AD B2C pošlje e-poštni zahtevek kot zbirko. Portal sprejme prvi e-poštni naslov v zbirki kot primarni e-poštni naslov stika.

Zahtevki za podporo scenarijev prijave

Ko se storitev zagotovi za novo stranko, ki ne obstaja v Dynamics 365, se lahko dohodni zahtevki uporabijo za začetni vnos v nov zapis stika, ki ga bo ustvaril portal. Običajni zahtevki lahko vključujejo ime in priimek, e-poštni naslov in telefonsko številko, vendar jih je mogoče konfigurirati. Potrebna je naslednja nastavitev mesta:

Ime: Authentication/OpenIdConnect/[Federation-Name]/RegistrationClaimsMapping

Opis: seznam logičnih parov ime/zahtevek, ki se uporabijo za preslikavo vrednosti zahtevkov v atribute v zapisu stika, ustvarjenem pri registraciji.

Oblika: attribute1=claim1,attribute2=claim2,attribute3=claim3

Primer: firstname=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname,lastname=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname,jobtitle=jobTitle

Opomba

E-poštni naslov morate preslikati v primarni e-poštni naslov (emailaddress1) stika. Če ste zapisu stika dodali drug e-poštni naslov (emailaddress2) ali nadomestni e-poštni naslov (emailaddress3) in ga preslikali v e-poštni naslov, identifikacijski podatki stiku ne bodo dodani in ustvarjen bo nov stik z e-poštnim naslovom, ki se uporablja za registracijo, nastavljeno v primarnem e-poštnem naslovu (emailaddress1).

Zahtevki za podporo scenarijev vpisa

Podatki v storitvi Dynamics 365 in v ponudniku identitet niso neposredno povezani, zato lahko pride do neusklajenosti podatkov. Portal mora imeti seznam zahtevkov, ki jih želite sprejeti od vsakega dogodka vpisa in posodobiti v programu Dynamics 365. Ti zahtevki so lahko podkomplet ali enaki zahtevkom, ki izvirajo iz scenarija vpisa. To morate konfigurirati ločeno od preslikave zahtevkov za vpis, saj ni priporočljivo, da se prepišejo kateri od ključnih atributov portala. Potrebna je naslednja nastavitev mesta:

Ime: Authentication/OpenIdConnect/[Federation-Name]/LoginClaimsMapping

Opis: seznam logičnih parov ime/zahtevek, ki se uporabijo za preslikavo vrednosti zahtevkov v atribute v zapisu stika, ustvarjenem po vpisu.

Oblika: attribute1=claim1, attribute2=claim2, attribute3=claim3

Primer: firstname=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname,lastname=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname,jobtitle=jobTitle

Ime zahtevka je enako polju »VRSTA ZAHTEVKA«, ki je navedeno poleg atributa v zahtevkih aplikacije za pravilnike o vpisu.

Dovoli samodejno povezovanje z zapisom stika na podlagi e-poštnega naslova

Stranke, ki imajo zapise stika s povezanimi e-poštnimi naslovi, nato odprejo spletno mesto, v katerega se njihovi zunanji uporabniki vpišejo s storitvijo Azure AD B2C prek mehanizem za preverjanje veljavnosti e-poštnega naslova. Novi vpis bi moral biti povezan z obstoječim zapisom stika, namesto da se ustvari podvojen zapis. Ta funkcija lahko uspešno preslika samo stike, ki nimajo aktivne identitete, katerih e-poštni naslov mora biti enoličen (ne sme biti povezan z več zapisi stika). Potrebna je naslednja nastavitev mesta:

Ime: Authentication/[Protocol]/[Provider]/AllowContactMappingWithEmail

Opis: določa, ali se stiki preslikajo za ustrezen e-poštni naslov. Če je možnost nastavljena na »true«, ta nastavitev poveže enoličen zapis stika z ujemajočim e-poštnim naslovom in nato samodejno dodeli zunanjega ponudnika identitete stiku, ko se uporabnik uspešno vpiše. Možnost je privzeto nastavljena na »false«.