Erőforrás-tulajdonosi jelszó hitelesítő adatainak beállítása az Azure Active Directory B2C-ben

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 Azure Active Directory B2C -ben (Azure AD B2C) az erőforrás-tulajdonosi jelszó hitelesítő adatainak (ROPC) folyamata egy OAuth standard hitelesítési folyamat. Ebben a folyamatban egy alkalmazás, más néven a függő entitás érvényes hitelesítő adatokat cserél a jogkivonatokra. A hitelesítő adatok tartalmazzák a felhasználói azonosítót és a jelszót. A visszaadott jogkivonatok azonosító jogkivonatok, hozzáférési jogkivonatok és frissítési jogkivonatok.

Figyelmeztetés:

Javasoljuk, hogy ne használja a ROPC-folyamatot. A legtöbb forgatókönyvben biztonságosabb alternatívák érhetők el és ajánlottak. Ez a folyamat nagyon nagy fokú bizalmat igényel az alkalmazásban, és olyan kockázatokat hordoz, amelyek más folyamatokban nem jelennek meg. Ezt a folyamatot csak akkor érdemes használni, ha más biztonságosabb folyamatok nem életképesek.

ROPC-folyamat megjegyzései

Az Azure Active Directory B2C-ben (Azure AD B2C) a következő lehetőségek támogatottak:

  • Natív ügyfél: A hitelesítés során a felhasználó beavatkozása akkor történik, ha a kód felhasználóoldali eszközön fut. Az eszköz lehet natív operációs rendszeren futó mobilalkalmazás, például Android és iOS.
  • Nyilvános ügyfélfolyamat: Az API-hívásban csak az alkalmazás által összegyűjtött felhasználói hitelesítő adatok lesznek elküldve. A rendszer nem küldi el az alkalmazás hitelesítő adatait.
  • Új jogcímek hozzáadása: Az azonosító jogkivonat tartalma módosítható új jogcímek hozzáadásához.

A következő folyamatok nem támogatottak:

  • Kiszolgálóról kiszolgálóra: Az identitásvédelmi rendszernek megbízható IP-címre van szüksége, amely a hívótól (a natív ügyféltől) származik az interakció részeként. Egy kiszolgálóoldali API-hívásban csak a kiszolgáló IP-címét használja a rendszer. Ha túllépi a sikertelen hitelesítések dinamikus küszöbértékét, az identitásvédelmi rendszer ismétlődő IP-címet azonosíthat támadóként.
  • Bizalmas ügyfélfolyamat: Az alkalmazás ügyfélazonosítója érvényesítve van, de az alkalmazás titkos kódja nincs érvényesítve.

A ROPC-folyamat használatakor vegye figyelembe a következőket:

  • A ROPC nem működik, ha a hitelesítési folyamat megszakad, és felhasználói beavatkozásra van szükség. Ha például lejárt egy jelszó, vagy módosítani kell, többtényezős hitelesítésre van szükség, vagy ha több információt kell gyűjteni a bejelentkezés során (például felhasználói hozzájárulás).
  • A ROPC csak a helyi fiókokat támogatja. A felhasználók nem jelentkezhetnek be olyan összevont identitásszolgáltatókkal, mint a Microsoft, a Google+, a Twitter, az AD-FS vagy a Facebook.
  • A munkamenet-kezelés, beleértve a bejelentkezést (KMSI) is, nem alkalmazható.

Register an application

Alkalmazásnak az Azure AD B2C-bérlőben történő regisztrálásához használhatja az új, egységes Appok regisztrálása szolgáltatást vagy a korábbi Alkalmazások (örökölt) szolgáltatást. További információ az új felületről.

  1. Jelentkezzen be az Azure Portalra.
  2. Győződjön meg arról, hogy az Azure AD B2C-bérlőt tartalmazó könyvtárat használja:
    1. Válassza a Címtárak + előfizetések ikont a portál eszköztárán.
    2. A Portál beállításai | Címtárak + előfizetések lap, keresse meg az Azure AD B2C-címtárat a címtárnévlistában, majd válassza a Váltás lehetőséget.
  3. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t
  4. Válassza a Alkalmazásregisztrációk, majd az Új regisztráció lehetőséget.
  5. Adja meg az alkalmazás nevét. Például ROPC_Auth_app.
  6. Hagyja meg a többi értéket, és válassza a Regisztráció lehetőséget.
  7. Jegyezze fel az alkalmazás (ügyfél) azonosítóját egy későbbi lépésben való használatra.
  8. A Kezelés területen válassza a Hitelesítés lehetőséget.
  9. Válassza az Új felület kipróbálása (ha megjelenik) lehetőséget.
  10. A Speciális beállítások és szakasz Az alábbi mobil- és asztali folyamatok engedélyezése területen válassza az Igen lehetőséget az alkalmazás nyilvános ügyfélként való kezeléséhez. Ez a beállítás szükséges a ROPC-folyamathoz.
  11. Válassza a Mentés parancsot.
  12. A bal oldali menüben válassza a Jegyzék elemet a jegyzékszerkesztő megnyitásához.
  13. Állítsa az oauth2AllowImplicitFlow attribútumot igaz értékre:
    "oauth2AllowImplicitFlow": true,
    
  14. Válassza a Mentés parancsot.

Erőforrás-tulajdonosi felhasználói folyamat létrehozása

  1. Jelentkezzen be az Azure Portalra az Azure AD B2C-bérlő globális rendszergazdájaként .
  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.
  3. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.
  4. Válassza a Felhasználói folyamatok lehetőséget, majd az Új felhasználói folyamatot.
  5. Válassza a Bejelentkezés erőforrás-tulajdonosi jelszó hitelesítő adataival (ROPC) lehetőséget.
  6. A Verzió területen győződjön meg arról, hogy az Előzetes verzió ki van jelölve, majd válassza a Létrehozás lehetőséget.
  7. Adjon nevet a felhasználói folyamatnak, például ROPC_Auth.
  8. Az Alkalmazásjogcímek csoportban válassza a Továbbiak megjelenítése lehetőséget.
  9. Válassza ki az alkalmazáshoz szükséges alkalmazásjogcímeket, például a megjelenítendő nevet, az e-mail-címet és az identitásszolgáltatót.
  10. Kattintson az OK, majd a Létrehozás gombra.

Előfeltétel

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.

Erőforrás-tulajdonosi szabályzat létrehozása

  1. Nyissa meg az TrustFrameworkExtensions.xml fájlt.

  2. Ha még nem létezik, adjon hozzá egy ClaimsSchema elemet és annak gyermekelemeit a BuildingBlocks elem első elemeként:

    <ClaimsSchema>
      <ClaimType Id="logonIdentifier">
        <DisplayName>User name or email address that the user can use to sign in</DisplayName>
        <DataType>string</DataType>
      </ClaimType>
      <ClaimType Id="resource">
        <DisplayName>The resource parameter passes to the ROPC endpoint</DisplayName>
        <DataType>string</DataType>
      </ClaimType>
      <ClaimType Id="refreshTokenIssuedOnDateTime">
        <DisplayName>An internal parameter used to determine whether the user should be permitted to authenticate again using their existing refresh token.</DisplayName>
        <DataType>string</DataType>
      </ClaimType>
      <ClaimType Id="refreshTokensValidFromDateTime">
        <DisplayName>An internal parameter used to determine whether the user should be permitted to authenticate again using their existing refresh token.</DisplayName>
        <DataType>string</DataType>
      </ClaimType>
    </ClaimsSchema>
    
  3. A ClaimsSchema után adjon hozzá egy ClaimsTransformations elemet és annak gyermekelemeit a BuildingBlocks elemhez:

    <ClaimsTransformations>
      <ClaimsTransformation Id="CreateSubjectClaimFromObjectID" TransformationMethod="CreateStringClaim">
        <InputParameters>
          <InputParameter Id="value" DataType="string" Value="Not supported currently. Use oid claim." />
        </InputParameters>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="sub" TransformationClaimType="createdClaim" />
        </OutputClaims>
      </ClaimsTransformation>
    
      <ClaimsTransformation Id="AssertRefreshTokenIssuedLaterThanValidFromDate" TransformationMethod="AssertDateTimeIsGreaterThan">
        <InputClaims>
          <InputClaim ClaimTypeReferenceId="refreshTokenIssuedOnDateTime" TransformationClaimType="leftOperand" />
          <InputClaim ClaimTypeReferenceId="refreshTokensValidFromDateTime" TransformationClaimType="rightOperand" />
        </InputClaims>
        <InputParameters>
          <InputParameter Id="AssertIfEqualTo" DataType="boolean" Value="false" />
          <InputParameter Id="AssertIfRightOperandIsNotPresent" DataType="boolean" Value="true" />
        </InputParameters>
      </ClaimsTransformation>
    </ClaimsTransformations>
    
  4. Keresse meg a DisplayName Local Account SignIn elemhez tartozó ClaimsProvider elemet, és adja hozzá a következő technikai profilt:

    <TechnicalProfile Id="ResourceOwnerPasswordCredentials-OAUTH2">
      <DisplayName>Local Account SignIn</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <Metadata>
        <Item Key="UserMessageIfClaimsPrincipalDoesNotExist">We can't seem to find your account</Item>
        <Item Key="UserMessageIfInvalidPassword">Your password is incorrect</Item>
        <Item Key="UserMessageIfOldPasswordUsed">Looks like you used an old password</Item>
        <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
        <Item Key="ValidTokenIssuerPrefixes">https://sts.windows.net/</Item>
        <Item Key="METADATA">https://login.microsoftonline.com/{tenant}/.well-known/openid-configuration</Item>
        <Item Key="authorization_endpoint">https://login.microsoftonline.com/{tenant}/oauth2/token</Item>
        <Item Key="response_types">id_token</Item>
        <Item Key="response_mode">query</Item>
        <Item Key="scope">email openid</Item>
        <Item Key="grant_type">password</Item>
      </Metadata>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="logonIdentifier" PartnerClaimType="username" Required="true" DefaultValue="{OIDC:Username}"/>
        <InputClaim ClaimTypeReferenceId="password" Required="true" DefaultValue="{OIDC:Password}" />
        <InputClaim ClaimTypeReferenceId="grant_type" DefaultValue="password" />
        <InputClaim ClaimTypeReferenceId="scope" DefaultValue="openid" />
        <InputClaim ClaimTypeReferenceId="nca" PartnerClaimType="nca" DefaultValue="1" />
        <InputClaim ClaimTypeReferenceId="client_id" DefaultValue="ProxyIdentityExperienceFrameworkAppId" />
        <InputClaim ClaimTypeReferenceId="resource_id" PartnerClaimType="resource" DefaultValue="IdentityExperienceFrameworkAppId" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="oid" />
        <OutputClaim ClaimTypeReferenceId="userPrincipalName" PartnerClaimType="upn" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromObjectID" />
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
    </TechnicalProfile>
    

    Cserélje le a client_id DefaultValueértékét az előfeltétel-oktatóanyagban létrehozott ProxyIdentityExperienceFramework alkalmazásazonosítójára. Ezután cserélje le a resource_id DefaultValue értékét az előfeltételként szolgáló oktatóanyagban is létrehozott IdentityExperienceFramework alkalmazás azonosítójára.

  5. Adja hozzá a következő ClaimsProvider-elemeket a technikai profilokkal a ClaimsProviders elemhez :

    <ClaimsProvider>
      <DisplayName>Azure Active Directory</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AAD-UserReadUsingObjectId-CheckRefreshTokenDate">
          <Metadata>
            <Item Key="Operation">Read</Item>
            <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
          </Metadata>
          <InputClaims>
            <InputClaim ClaimTypeReferenceId="objectId" Required="true" />
          </InputClaims>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="objectId" />
            <OutputClaim ClaimTypeReferenceId="refreshTokensValidFromDateTime" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="AssertRefreshTokenIssuedLaterThanValidFromDate" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromObjectID" />
          </OutputClaimsTransformations>
          <IncludeTechnicalProfile ReferenceId="AAD-Common" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
    <ClaimsProvider>
      <DisplayName>Session Management</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SM-RefreshTokenReadAndSetup">
          <DisplayName>Trustframework Policy Engine Refresh Token Setup Technical Profile</DisplayName>
          <Protocol Name="None" />
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="objectId" />
            <OutputClaim ClaimTypeReferenceId="refreshTokenIssuedOnDateTime" />
          </OutputClaims>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
    <ClaimsProvider>
      <DisplayName>Token Issuer</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="JwtIssuer">
          <Metadata>
            <!-- Point to the redeem refresh token user journey-->
            <Item Key="RefreshTokenUserJourneyId">ResourceOwnerPasswordCredentials-RedeemRefreshToken</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  6. Adjon hozzá egy UserJourneys elemet és annak gyermekelemeit az TrustFrameworkPolicy elemhez:

    <UserJourney Id="ResourceOwnerPasswordCredentials">
      <PreserveOriginalAssertion>false</PreserveOriginalAssertion>
      <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="ResourceOwnerFlow" TechnicalProfileReferenceId="ResourceOwnerPasswordCredentials-OAUTH2" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="2" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="3" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
      </OrchestrationSteps>
    </UserJourney>
    <UserJourney Id="ResourceOwnerPasswordCredentials-RedeemRefreshToken">
      <PreserveOriginalAssertion>false</PreserveOriginalAssertion>
      <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="RefreshTokenSetupExchange" TechnicalProfileReferenceId="SM-RefreshTokenReadAndSetup" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="2" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="CheckRefreshTokenDateFromAadExchange" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId-CheckRefreshTokenDate" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="3" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
      </OrchestrationSteps>
    </UserJourney>
    
  7. Az Azure AD B2C-bérlő Egyéni szabályzatok lapján válassza a Szabályzat feltöltése lehetőséget.

  8. Ha létezik, engedélyezze a szabályzat felülírását, majd keresse meg és válassza ki az TrustFrameworkExtensions.xml fájlt.

  9. Válassza a Feltöltés lehetőséget.

Függő entitásfájl létrehozása

Ezután frissítse a létrehozott felhasználói folyamatot kezdeményező függő entitásfájlt:

  1. Készítsen másolatot a SignUpOrSignin.xml fájlról a munkakönyvtárban, és nevezze át ROPC_Auth.xml fájlra.

  2. Nyissa meg az új fájlt, és módosítsa az TrustFrameworkPolicy PolicyId attribútumának értékét egyedi értékre. A szabályzat azonosítója a szabályzat neve. Például B2C_1A_ROPC_Auth.

  3. Módosítsa a DefaultUserJourney ReferenceId attribútumának értékét a következőreResourceOwnerPasswordCredentials: .

  4. Módosítsa úgy a OutputClaims elemet, hogy csak a következő jogcímeket tartalmazza:

    <OutputClaim ClaimTypeReferenceId="sub" />
    <OutputClaim ClaimTypeReferenceId="objectId" />
    <OutputClaim ClaimTypeReferenceId="displayName" DefaultValue="" />
    <OutputClaim ClaimTypeReferenceId="givenName" DefaultValue="" />
    <OutputClaim ClaimTypeReferenceId="surname" DefaultValue="" />
    
  5. Az Azure AD B2C-bérlő Egyéni szabályzatok lapján válassza a Szabályzat feltöltése lehetőséget.

  6. Ha létezik, engedélyezze a szabályzat felülírását, majd keresse meg és válassza ki a ROPC_Auth.xml fájlt.

  7. Válassza a Feltöltés lehetőséget.

A ROPC-folyamat tesztelése

A kedvenc API-fejlesztőalkalmazásával hozzon létre egy API-hívást, és tekintse át a szabályzat hibakeresésére adott választ. Hozzon létre egy ehhez hasonló hívást a POST-kérés törzseként az alábbi információkkal:

https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1A_ROPC_Auth/oauth2/v2.0/token

  • Cserélje le <tenant-name> az Azure AD B2C-bérlő nevét.
  • Cserélje le B2C_1A_ROPC_Auth az erőforrás-tulajdonos jelszó hitelesítő adataira vonatkozó szabályzat teljes nevére.
Key Érték
username user-account
jelszó password1
grant_type jelszó
scope openid application-id offline_access
client_id application-id
response_type token id_token
  • Cserélje le user-account a bérlőben lévő felhasználói fiók nevére.
  • Cserélje le password1 a felhasználói fiók jelszavára.
  • Cserélje le application-id a ROPC_Auth_app regisztrációból származó alkalmazásazonosítóra.
  • Offline_access nem kötelező, ha frissítési jogkivonatot szeretne kapni.

A tényleges POST-kérelem a következő példához hasonlóan néz ki:

POST /<tenant-name>.onmicrosoft.com/B2C_1A_ROPC_Auth/oauth2/v2.0/token HTTP/1.1
Host: <tenant-name>.b2clogin.com
Content-Type: application/x-www-form-urlencoded

username=contosouser.outlook.com.ws&password=Passxword1&grant_type=password&scope=openid+bef22d56-552f-4a5b-b90a-1988a7d634ce+offline_access&client_id=bef22d56-552f-4a5b-b90a-1988a7d634ce&response_type=token+id_token

Az offline hozzáféréssel rendelkező sikeres válasz a következő példához hasonlóan néz ki:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik9YQjNhdTNScWhUQWN6R0RWZDM5djNpTmlyTWhqN2wxMjIySnh6TmgwRlki...",
    "token_type": "Bearer",
    "expires_in": "3600",
    "refresh_token": "eyJraWQiOiJacW9pQlp2TW5pYVc2MUY0TnlfR3REVk1EVFBLbUJLb0FUcWQ1ZWFja1hBIiwidmVyIjoiMS4wIiwiemlwIjoiRGVmbGF0ZSIsInNlciI6Ij...",
    "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik9YQjNhdTNScWhUQWN6R0RWZDM5djNpTmlyTWhqN2wxMjIySnh6TmgwRlki..."
}

Frissítési jogkivonat beváltása

Hozzon létre egy POST-hívást az itt láthatóhoz hasonlóan. A kérelem törzseként használja az alábbi táblázatban szereplő információkat:

https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1A_ROPC_Auth/oauth2/v2.0/token

  • Cserélje le <tenant-name> az Azure AD B2C-bérlő nevét.
  • Cserélje le B2C_1A_ROPC_Auth az erőforrás-tulajdonos jelszó hitelesítő adataira vonatkozó szabályzat teljes nevére.
Key Érték
grant_type refresh_token
response_type id_token
client_id application-id
erőforrás application-id
refresh_token refresh-token
  • Cserélje le application-id a ROPC_Auth_app regisztrációból származó alkalmazásazonosítóra.
  • Cserélje le refresh-token az előző válaszban visszaküldött refresh_token .

A sikeres válasz a következő példához hasonlóan néz ki:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhT...",
    "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQn...",
    "token_type": "Bearer",
    "not_before": 1533672990,
    "expires_in": 3600,
    "expires_on": 1533676590,
    "resource": "bef2222d56-552f-4a5b-b90a-1988a7d634c3",
    "id_token_expires_in": 3600,
    "profile_info": "eyJ2ZXIiOiIxLjAiLCJ0aWQiOiI1MTZmYzA2NS1mZjM2LTRiOTMtYWE1YS1kNmVlZGE3Y2JhYzgiLCJzdWIiOm51bGwsIm5hbWUiOiJEYXZpZE11IiwicHJlZmVycmVkX3VzZXJuYW1lIjpudWxsLCJpZHAiOiJMb2NhbEFjY291bnQifQ",
    "refresh_token": "eyJraWQiOiJjcGltY29yZV8wOTI1MjAxNSIsInZlciI6IjEuMCIsInppcCI6IkRlZmxhdGUiLCJzZXIiOiIxLjAi...",
    "refresh_token_expires_in": 1209600
}

Hibaelhárítás

A megadott alkalmazás nincs konfigurálva az OAuth implicit folyamat engedélyezésére

  • Hibajelenség – Futtatja a ROPC-folyamatot, és a következő üzenetet kapja: AADB2C90057: A megadott alkalmazás nincs konfigurálva az OAuth implicit folyamat engedélyezésére.
  • Lehetséges okok – Az implicit folyamat nem engedélyezett az alkalmazás számára.
  • Megoldás: Amikor az alkalmazásregisztrációt az Azure AD B2C-ben hozza létre, manuálisan kell szerkesztenie az alkalmazásjegyzéket, és be kell állítania a oauth2AllowImplicitFlow tulajdonság trueértékét. A tulajdonság konfigurálása oauth2AllowImplicitFlow után eltarthat néhány percig (általában legfeljebb ötig), amíg a módosítás hatással lesz rá.

Natív SDK vagy App-Auth használata

Az Azure AD B2C megfelel az OAuth 2.0 szabványnak a nyilvános ügyfélerőforrás-tulajdonos jelszavas hitelesítő adataihoz, és kompatibilisnek kell lennie a legtöbb ügyféloldali SDK-val. A legújabb információkért lásd: Natív alkalmazás SDK for OAuth 2.0 és OpenID Csatlakozás modern ajánlott eljárások implementálása.

Következő lépések

Az Azure AD B2C-vel való használatra konfigurált munkaminták letöltése a GitHubról, Androidra és iOS-hez.