Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.
När du integrerar ett REST API i ett Azure AD B2C-användarflöde måste du skydda din REST API-slutpunkt med autentisering. REST API-autentiseringen säkerställer att endast tjänster som har rätt autentiseringsuppgifter, till exempel Azure AD B2C, kan göra anrop till slutpunkten. I den här artikeln beskrivs hur du skyddar REST API.
Förutsättningar
Slutför stegen i guiden Lägg till en API-anslutning i ett användarregistreringsflöde.
Du kan skydda API-slutpunkten med hjälp av antingen grundläggande HTTP-autentisering eller HTTPS-klientcertifikatautentisering. I båda fallen anger du de autentiseringsuppgifter som Azure AD B2C använder när den anropar API-slutpunkten. API-slutpunkten kontrollerar sedan autentiseringsuppgifterna och utför auktoriseringsbeslut.
Grundläggande HTTP-autentisering
Grundläggande HTTP-autentisering definieras i RFC 2617. Grundläggande autentisering fungerar på följande sätt:
- Azure AD B2C skickar en HTTP-begäran med klientens autentiseringsuppgifter ( - usernameoch- password) i- Authorizationhuvudet.
- Autentiseringsuppgifterna formateras som den base64-kodade strängen - username:password.
- Ditt API ansvarar sedan för att kontrollera dessa värden för att utföra andra auktoriseringsbeslut. 
Följ dessa steg för att konfigurera ett API-anslutningsprogram med grundläggande HTTP-autentisering:
- Logga in på Azure-portalen.
- Under Azure-tjänster väljer du Azure AD B2C eller söker efter och väljer Azure AD B2C.
- Välj API-anslutningsappar och välj sedan den API-anslutningsapp som du vill konfigurera.
- Som Autentiseringstyp väljer du Grundläggande.
- Ange användarnamnet och lösenordet för rest-API-slutpunkten.
              
                
- Välj Spara.
Lägg till policy-nycklar för användarnamn och lösenord i REST API
Om du vill konfigurera en teknisk REST API-profil med grundläggande HTTP-autentisering skapar du följande kryptografiska nycklar för att lagra användarnamnet och lösenordet:
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
- Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du Manuell.
- För Namn skriver du RestApiUsername. Prefixet B2C_1A_ kan läggas till automatiskt.
- I rutan Hemlighet anger du REST API-användarnamnet.
- För Nyckelanvändning väljer du Kryptering.
- Välj Skapa.
- Välj Principnycklar igen.
- Välj Lägg till.
- För Alternativ väljer du Manuell.
- För Namn skriver du RestApiPassword. Prefixet B2C_1A_ kan läggas till automatiskt.
- I rutan Hemlighet anger du REST API-lösenordet.
- För Nyckelanvändning väljer du Kryptering.
- Välj Skapa.
Konfigurera din tekniska REST API-profil för att använda grundläggande HTTP-autentisering
När du har skapat de nödvändiga nycklarna konfigurerar du metadata för den tekniska REST API-profilen så att de refererar till autentiseringsuppgifterna.
- Öppna filen för tilläggsprinciper i din arbetskatalog (TrustFrameworkExtensions.xml).
- Sök efter den tekniska profilen för REST API. Till exempel REST-ValidateProfile, ellerREST-GetProfile.
- Leta upp elementet <Metadata>.
- Ändra AuthenticationType till Basic.
- Ändra AllowInsecureAuthInProduction till false.
- Lägg till följande XML-kodfragment direkt efter det avslutande </Metadata>elementet:<CryptographicKeys> <Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_RestApiUsername" /> <Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_RestApiPassword" /> </CryptographicKeys>
Följande XML-kodfragment är ett exempel på en teknisk RESTful-profil som konfigurerats med grundläggande HTTP-autentisering:
<ClaimsProvider>
  <DisplayName>REST APIs</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="REST-GetProfile">
      <DisplayName>Get user extended profile Azure Function web hook</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
        <Item Key="SendClaimsIn">Body</Item>
        <Item Key="AuthenticationType">Basic</Item>
        <Item Key="AllowInsecureAuthInProduction">false</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_RestApiUsername" />
        <Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_RestApiPassword" />
      </CryptographicKeys>
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
HTTPS-klientcertifikatautentisering
Klientcertifikatautentisering är en ömsesidig certifikatbaserad autentisering, där klienten, Azure AD B2C, tillhandahåller sitt klientcertifikat till servern för att bevisa sin identitet. Detta händer som en del av SSL-handskakningen. Ditt API ansvarar för att verifiera att certifikaten tillhör en giltig klient, till exempel Azure AD B2C, och utföra auktoriseringsbeslut. Klientcertifikatet är ett digitalt X.509-certifikat.
Viktigt!
I produktionsmiljöer måste certifikatet signeras av en certifikatutfärdare.
Skapa ett certifikat
Alternativ 1: Använd Azure Key Vault (rekommenderas)
Om du vill skapa ett certifikat kan du använda Azure Key Vault, som har alternativ för självsignerade certifikat och integreringar med certifikatutfärdare för signerade certifikat. Rekommenderade inställningar är:
- 
              Ämne: CN=<yourapiname>.<tenantname>.onmicrosoft.com
- 
              Innehållstyp: PKCS #12
- 
              Lifetime Acton Type: Email all contacts at a given percentage lifetimeellerEmail all contacts a given number of days before expiry
- 
              Nyckeltyp: RSA
- 
              Nyckelstorlek: 2048
- 
              Exporterbar privat nyckel: Yes(för att kunna exportera.pfxfilen)
Du kan sedan exportera certifikatet.
Alternativ 2: förbered ett självsignerat certifikat med hjälp av PowerShell-modulen
Om du inte redan har ett certifikat kan du använda ett självsignerat certifikat. Ett självsignerat certifikat är ett säkerhetscertifikat som inte är signerat av en certifikatutfärdare (CA) och som inte tillhandahåller säkerhetsgarantierna för ett certifikat som signerats av en certifikatutfärdare.
I Windows använder du cmdleten New-SelfSignedCertificate i PowerShell för att generera ett certifikat.
- Kör följande PowerShell-kommando för att generera ett självsignerat certifikat. - -SubjectÄndra argumentet efter behov för ditt program och Azure AD B2C-klientnamn, till exempel- contosowebapp.contoso.onmicrosoft.com. Du kan också justera- -NotAfterdatumet för att ange ett annat förfallodatum för certifikatet.- New-SelfSignedCertificate ` -KeyExportPolicy Exportable ` -Subject "CN=yourappname.yourtenant.onmicrosoft.com" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyUsage DigitalSignature ` -NotAfter (Get-Date).AddMonths(12) ` -CertStoreLocation "Cert:\CurrentUser\My"
- På Windows-datorn söker du efter och väljer Hantera användarcertifikat 
- Under Certifikat – aktuell användare väljer du Personliga>Certifikat>yourappname.yourtenant.onmicrosoft.com. 
- Välj certifikatet och välj sedan Åtgärd>alla uppgifter>Exportera. 
- Välj Nästa>Ja, exportera den privata nyckeln>Nästa. 
- Acceptera standardinställningarna för Exportera filformat och välj sedan Nästa. 
- Aktivera alternativet Lösenord , ange ett lösenord för certifikatet och välj sedan Nästa. 
- Om du vill ange en plats för att spara certifikatet väljer du Bläddra och navigerar till valfri katalog. 
- I fönstret Spara som anger du ett filnamn och väljer sedan Spara. 
- Välj Nästa>Slutför. 
För att Azure AD B2C ska acceptera .pfx-fillösenordet måste lösenordet krypteras med alternativet TripleDES-SHA1 i exportverktyget för Windows Certificate Store, till skillnad från AES256-SHA256.
Konfigurera API-anslutningsappen
Följ dessa steg för att konfigurera ett API-anslutningsprogram med klientcertifikatautentisering:
- Logga in på Azure-portalen.
- Under Azure-tjänster väljer du Azure AD B2C.
- Välj API-anslutningsappar och välj sedan den API-anslutningsapp som du vill konfigurera.
- Som Autentiseringstyp väljer du Certifikat.
- I rutan Ladda upp certifikat väljer du certifikatets .pfx-fil med en privat nyckel.
- I rutan Ange lösenord skriver du certifikatets lösenord.
              
                
- Välj Spara.
Fatta auktoriseringsbeslut
Ditt API måste implementera auktoriseringen baserat på skickade klientcertifikat för att skydda API-slutpunkterna. Information om Azure App Service och Azure Functions finns i Konfigurera ömsesidig TLS-autentisering för att lära dig hur du aktiverar och verifierar certifikatet från din API-kod. Du kan också använda Azure API Management som ett lager framför valfri API-tjänst för att kontrollera egenskaperna för klientcertifikatet mot önskade värden.
Förnya certifikat
Vi rekommenderar att du ställer in påminnelseaviseringar för när certifikatet upphör att gälla. Du måste generera ett nytt certifikat och upprepa stegen ovan när använda certifikat håller på att upphöra att gälla. Om du vill "rulla" användningen av ett nytt certifikat kan API-tjänsten fortsätta att acceptera gamla och nya certifikat under en tillfällig tid medan det nya certifikatet distribueras.
Om du vill ladda upp ett nytt certifikat till en befintlig API-anslutningsapp väljer du API-anslutningsappen under API-anslutningsappar och klickar på Ladda upp nytt certifikat. Det senast uppladdade certifikatet, som inte har upphört att gälla och vars startdatum har passerat, används automatiskt av Azure AD B2C.
              
               
              
              
            
Lägga till en principnyckel för klientcertifikat
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
- Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- I rutan Alternativ väljer du Ladda upp.
- I rutan Namn skriver du RestApiClientCertificate. Prefixet B2C_1A_ läggs till automatiskt.
- I rutan Filuppladdning väljer du certifikatets .pfx-fil med en privat nyckel.
- I rutan Lösenord skriver du certifikatets lösenord.
- Välj Skapa.
Konfigurera din tekniska REST API-profil för att använda autentisering med klientcertifikat
När du har skapat den nödvändiga nyckeln konfigurerar du metadata för den tekniska REST API-profilen så att de refererar till klientcertifikatet.
- Öppna filen för tilläggsprinciper i din arbetskatalog (TrustFrameworkExtensions.xml).
- Sök efter den tekniska profilen för REST API. Till exempel REST-ValidateProfile, ellerREST-GetProfile.
- Leta upp elementet <Metadata>.
- Ändra AuthenticationType till ClientCertificate.
- Ändra AllowInsecureAuthInProduction till false.
- Lägg till följande XML-kodfragment direkt efter det avslutande </Metadata>elementet:<CryptographicKeys> <Key Id="ClientCertificate" StorageReferenceId="B2C_1A_RestApiClientCertificate" /> </CryptographicKeys>
Följande XML-kodfragment är ett exempel på en teknisk RESTful-profil som konfigurerats med ett HTTP-klientcertifikat:
<ClaimsProvider>
  <DisplayName>REST APIs</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="REST-GetProfile">
      <DisplayName>Get user extended profile Azure Function web hook</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
        <Item Key="SendClaimsIn">Body</Item>
        <Item Key="AuthenticationType">ClientCertificate</Item>
        <Item Key="AllowInsecureAuthInProduction">false</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="ClientCertificate" StorageReferenceId="B2C_1A_RestApiClientCertificate" />
      </CryptographicKeys>
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
Autentisering av OAuth2-bärare
Autentisering med ägartoken definieras i OAuth2.0 Authorization Framework: Bearer Token Usage (RFC 6750). Vid autentisering med ägartoken skickar Azure AD B2C en HTTP-begäran med en token i auktoriseringshuvudet.
Authorization: Bearer <token>
En bearer token är en ogenomskinlig sträng. Det kan vara en JWT-åtkomsttoken eller en sträng som REST-API:et förväntar sig att Azure AD B2C ska skicka i auktoriseringshuvudet. Azure AD B2C stöder följande typer:
- Bearer-token. För att kunna skicka ett bearertoken i den tekniska RESTful-profilen måste din policy först hämta bearer-tokenet och sedan använda det i den tekniska RESTful-profilen.
- Statisk bärartoken. Använd den här metoden när REST-API:et utfärdar en långsiktig åtkomsttoken. Om du vill använda en statisk bearer-token skapar du en principnyckel och gör en referens från den tekniska RESTful-profilen till din principnyckel.
Använda OAuth2 Bearer
Följande steg visar hur du använder klientautentiseringsuppgifter för att hämta en bearer-token och skicka den till auktoriseringshuvudet för REST API-anropen.
Definiera ett anspråk för att lagra bearer-token
Ett tillstånd ger tillfällig lagring av data under en Azure AD B2C-policykörning. Anspråksschemat är den plats där du deklarerar dina anspråk. Åtkomsttoken måste lagras i ett anspråk för att kunna användas senare.
- Öppna tilläggsfilen för policyn. Till exempel SocialAndLocalAccounts/TrustFrameworkExtensions.xml.
- Sök efter elementet BuildingBlocks . Om elementet inte finns lägger du till det.
- Leta upp elementet ClaimsSchema . Om elementet inte finns lägger du till det.
- Lägg till följande anspråk i elementet ClaimsSchema .
<ClaimType Id="bearerToken">
  <DisplayName>Bearer token</DisplayName>
  <DataType>string</DataType>
</ClaimType>
<ClaimType Id="grant_type">
  <DisplayName>Grant type</DisplayName>
  <DataType>string</DataType>
</ClaimType>
<ClaimType Id="scope">
  <DisplayName>scope</DisplayName>
  <DataType>string</DataType>
</ClaimType>
Hämta en åtkomsttoken
Du kan hämta en åtkomsttoken på ett av flera sätt, för en federerad identitetsprovider, genom att anropa ett REST API som returnerar en åtkomsttoken, med hjälp av ett ROPC-flöde eller med hjälp av flödet för klientautentiseringsuppgifter. Flödet för klientautentiseringsuppgifter används ofta för server-till-server-interaktioner som måste köras i bakgrunden, utan omedelbar interaktion med en användare.
Varning
Microsoft rekommenderar att du inte använder ROPC-flödet. Det här flödet kräver en mycket hög grad av förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden inte är livskraftiga.
Hämta en Microsoft Entra-åtkomsttoken
I följande exempel används en teknisk REST API-profil för att göra en begäran till slutpunkten för Microsoft Entra-token med hjälp av de klientautentiseringsuppgifter som skickas som grundläggande HTTP-autentisering. Mer information finns i Microsofts identitetsplattform och OAuth 2.0-klientautentiseringsflöde.
Innan den tekniska profilen kan interagera med Microsoft Entra-ID för att hämta en åtkomsttoken måste du registrera ett program. Azure AD B2C förlitar sig på Microsoft Entra-plattformen. Du kan skapa appen i din Azure AD B2C-klientorganisation eller i valfri Microsoft Entra-klientorganisation som du hanterar. Så här registrerar du en applikation:
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
- I den vänstra menyn väljer du Microsoft Entra ID. Eller välj Alla tjänster och sök efter och välj Microsoft Entra-ID.
- Välj Appregistreringaroch välj sedan Ny registrering.
- Ange ett namn för programmet. Till exempel Client_Credentials_Auth_app.
- Under Kontotyper som stöds, välj Endast konton i den här organisationskatalogen.
- Välj Registrera.
- Registrera program-ID:t (klienten).
För ett flöde för klientautentiseringsuppgifter måste du skapa en programhemlighet. Klienthemligheten kallas även för ett programlösenord. Ditt program använder hemligheten för att hämta en åtkomsttoken.
- På sidan Microsoft Entra ID – Appregistreringar väljer du det program som du skapade, till exempel Client_Credentials_Auth_app.
- I den vänstra menyn går du till Hantera och väljer Certifikat och hemligheter.
- Välj Ny klienthemlighet.
- Ange en beskrivning av klienthemligheten i rutan Beskrivning. Till exempel clientsecret1.
- Under Upphör att gälla väljer du en varaktighet för vilken hemligheten är giltig och väljer sedan Lägg till.
- Registrera hemlighetens värde för användning i klientprogramkoden. Det här hemliga värdet visas aldrig igen när du har lämnat den här sidan. Du använder det här värdet som programhemlighet i programmets kod.
Skapa Azure AD B2C-principnycklar
Du måste lagra klient-ID:t och klienthemlighetsvärdet som du tidigare registrerade i din Azure AD B2C-klientorganisation.
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
- Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du Manual.
- Ange ett namn för principnyckeln, SecureRESTClientId. PrefixetB2C_1A_läggs automatiskt till i namnet på din nyckel.
- I Hemlighet anger du ditt klient-ID som du tidigare har registrerat.
- För Nyckelanvändning väljer du Signature.
- Välj Skapa.
- Skapa en annan principnyckel med följande inställningar: - 
              Namn: SecureRESTClientSecret.
- Hemlighet: ange din klienthemlighet som du tidigare har registrerat
 
- 
              Namn: 
För ServiceUrl ersätter du your-tenant-name med namnet på din Microsoft Entra-klientorganisation. Se referensen för den tekniska RESTful-profilen för alla tillgängliga alternativ.
<TechnicalProfile Id="REST-AcquireAccessToken">
  <DisplayName></DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ServiceUrl">https://login.microsoftonline.com/your-tenant-name.onmicrosoft.com/oauth2/v2.0/token</Item>
    <Item Key="AuthenticationType">Basic</Item>
     <Item Key="SendClaimsIn">Form</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_SecureRESTClientId" />
    <Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_SecureRESTClientSecret" />
  </CryptographicKeys>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="grant_type" DefaultValue="client_credentials" AlwaysUseDefaultValue="true" />
    <InputClaim ClaimTypeReferenceId="scope" DefaultValue="https://graph.microsoft.com/.default" AlwaysUseDefaultValue="true" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="bearerToken" PartnerClaimType="access_token" />
  </OutputClaims>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
Anmärkning
Om du använder anspråken grant_type eller scope i andra tekniska profiler rekommenderar vi att de också anger DefaultValue och använder AlwaysUseDefaultValue="true" för att undvika potentiella konflikter i bindningen mot det felaktiga värdet.
Ändra den tekniska REST-profilen så att den använder autentisering med ägartoken
Om du vill ha stöd för autentisering med ägartoken i din anpassade princip ändrar du den tekniska REST API-profilen med hjälp av följande steg:
- I din arbetskatalog öppnar du principfilen förTrustFrameworkExtensions.xml tillägget. 
- Sök efter noden - <TechnicalProfile>som innehåller- Id="REST-API-SignUp".
- Leta upp elementet - <Metadata>.
- Ändra AuthenticationType till Bearer på följande sätt: - <Item Key="AuthenticationType">Bearer</Item>
- Ändra eller lägg till UseClaimAsBearerToken i bearerToken på följande sätt. bearerToken är namnet på det påstående som bearerToken hämtas från (utdatapåståendet från - REST-AcquireAccessToken).- <Item Key="UseClaimAsBearerToken">bearerToken</Item>
- Lägg till anspråket från föregående steg som ett inkommande anspråk: - <InputClaim ClaimTypeReferenceId="bearerToken"/>
När du har uppdaterat principen bör din tekniska profil se ut ungefär som följande XML-kod:
<ClaimsProvider>
  <DisplayName>REST APIs</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="REST-GetProfile">
      <DisplayName>Get user extended profile Azure Function web hook</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
        <Item Key="SendClaimsIn">Body</Item>
        <Item Key="AuthenticationType">Bearer</Item>
        <Item Key="UseClaimAsBearerToken">bearerToken</Item>
        <Item Key="AllowInsecureAuthInProduction">false</Item>
      </Metadata>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="bearerToken"/>
      </InputClaims>
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
Anropa den tekniska REST-profilen
Om du vill anropa den REST-GetProfile tekniska profilen måste du först skaffa en Microsoft Entra åtkomsttoken med hjälp av den tekniska profilen REST-AcquireAccessToken . I följande exempel visas hur du anropar den REST-GetProfile tekniska profilen från en teknisk valideringsprofil:
<ValidationTechnicalProfiles>
  <ValidationTechnicalProfile ReferenceId="REST-AcquireAccessToken" />
  <ValidationTechnicalProfile ReferenceId="REST-GetProfile" />
</ValidationTechnicalProfiles>
I följande exempel visas hur du anropar den REST-GetProfile tekniska profilen från en användarresa eller en underresa:
<OrchestrationSteps>
  <OrchestrationStep Order="2" Type="ClaimsExchange">
    <ClaimsExchanges>
      <ClaimsExchange Id="REST-AcquireAccessTokens" TechnicalProfileReferenceId="REST-AcquireAccessToken" />
    </ClaimsExchanges>
  </OrchestrationStep>
  <OrchestrationStep Order="3" Type="ClaimsExchange">
    <ClaimsExchanges>
      <ClaimsExchange Id="REST-GetProfile" TechnicalProfileReferenceId="REST-GetProfile" />
    </ClaimsExchanges>
  </OrchestrationStep>
</OrchestrationSteps>
Använda en statisk OAuth2-bärare
Lägga till principnyckeln för OAuth2-bearer-token
Om du vill konfigurera en teknisk REST API-profil med en OAuth2-bearer-token hämtar du en åtkomsttoken från REST API-ägaren. Skapa sedan följande kryptografiska nyckel för att lagra bearer-token.
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
- Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du Manual.
- Ange ett Namn för principnyckeln. Till exempel RestApiBearerToken. PrefixetB2C_1A_läggs automatiskt till i namnet på din nyckel.
- I Hemlighet anger du din klienthemlighet som du tidigare har registrerat.
- För Nyckelanvändning väljer du Encryption.
- Välj Skapa.
Konfigurera din tekniska REST API-profil så att den använder principnyckeln för ägartoken
När du har skapat den nödvändiga nyckeln konfigurerar du metadata för den tekniska REST API-profilen så att de refererar till bearer-token.
- Öppna filen för tilläggsprinciper i din arbetskatalog (TrustFrameworkExtensions.xml).
- Sök efter den tekniska profilen för REST API. Till exempel REST-ValidateProfile, ellerREST-GetProfile.
- Leta upp elementet <Metadata>.
- Ändra AuthenticationType till Bearer.
- Ändra AllowInsecureAuthInProduction till false.
- Lägg till följande XML-kodfragment direkt efter det avslutande </Metadata>elementet:<CryptographicKeys> <Key Id="BearerAuthenticationToken" StorageReferenceId="B2C_1A_RestApiBearerToken" /> </CryptographicKeys>
Följande XML-kodfragment är ett exempel på en teknisk RESTful-profil som konfigurerats med autentisering med ägartoken:
<ClaimsProvider>
  <DisplayName>REST APIs</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="REST-GetProfile">
      <DisplayName>Get user extended profile Azure Function web hook</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
        <Item Key="SendClaimsIn">Body</Item>
        <Item Key="AuthenticationType">Bearer</Item>
        <Item Key="AllowInsecureAuthInProduction">false</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="BearerAuthenticationToken" StorageReferenceId="B2C_1A_RestApiBearerToken" />
      </CryptographicKeys>
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
Lägg till referensen för den tekniska valideringsprofilen i den tekniska profilen för registrering, som anropar REST-AcquireAccessToken.  Det här beteendet innebär att Azure AD B2C går vidare för att skapa kontot i katalogen först efter en lyckad validering.
Till exempel:
```XML
<ValidationTechnicalProfiles>
   ....
   <ValidationTechnicalProfile ReferenceId="REST-AcquireAccessToken" />
   ....
</ValidationTechnicalProfiles>
API-nyckelautentisering
Vissa tjänster använder en "API-nyckel"-mekanism för att dölja åtkomsten till dina HTTP-slutpunkter under utvecklingen genom att kräva att anroparen tar med en unik nyckel som HTTP-huvud eller HTTP-frågeparameter. För Azure Functions kan du göra detta genom att inkludera code som en frågeparameter i slutpunkts-URL:en för API-anslutningsappen. Till exempel https://contoso.azurewebsites.net/api/endpoint?code=0123456789).
Detta är inte en mekanism som bör användas ensam i produktionen. Därför krävs alltid konfiguration för grundläggande autentisering eller certifikatautentisering. Om du inte vill implementera någon autentiseringsmetod (rekommenderas inte) i utvecklingssyfte kan du välja "grundläggande" autentisering i API-anslutningskonfigurationen och använda tillfälliga värden för username och password som ditt API kan bortse från när du implementerar korrekt auktorisering.
API-nyckel är en unik identifierare som används för att autentisera en användare för att få åtkomst till en REST API-slutpunkt. Nyckeln skickas i ett anpassat HTTP-huvud. Till exempel använder x-functions-key HTTP-huvudet för att identifiera beställaren.
Lägg till API-nyckelpolicynycklar
Om du vill konfigurera en teknisk REST API-profil med API-nyckelautentisering skapar du följande kryptografiska nyckel för att lagra API-nyckeln:
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
- Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du Manuell.
- För Namn skriver du RestApiKey. Prefixet B2C_1A_ kan läggas till automatiskt.
- I rutan Hemlighet anger du REST API-nyckeln.
- För Nyckelanvändning väljer du Kryptering.
- Välj Skapa.
Konfigurera din tekniska REST API-profil för att använda API-nyckelautentisering
När du har skapat den nödvändiga nyckeln konfigurerar du metadata för den tekniska REST API-profilen så att de refererar till autentiseringsuppgifterna.
- Öppna filen för tilläggsprinciper i din arbetskatalog (TrustFrameworkExtensions.xml).
- Sök efter den tekniska profilen för REST API. Till exempel REST-ValidateProfile, ellerREST-GetProfile.
- Leta upp elementet <Metadata>.
- Ändra AuthenticationType till ApiKeyHeader.
- Ändra AllowInsecureAuthInProduction till false.
- Lägg till följande XML-kodfragment direkt efter det avslutande </Metadata>elementet:<CryptographicKeys> <Key Id="x-functions-key" StorageReferenceId="B2C_1A_RestApiKey" /> </CryptographicKeys>
ID:t för den kryptografiska nyckeln definierar HTTP-huvudet. I det här exemplet skickas API-nyckeln som x-functions-key.
Följande XML-kodfragment är ett exempel på en teknisk RESTful-profil som konfigurerats för att anropa en Azure-funktion med API-nyckelautentisering:
<ClaimsProvider>
  <DisplayName>REST APIs</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="REST-GetProfile">
      <DisplayName>Get user extended profile Azure Function web hook</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
        <Item Key="SendClaimsIn">Body</Item>
        <Item Key="AuthenticationType">ApiKeyHeader</Item>
        <Item Key="AllowInsecureAuthInProduction">false</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="x-functions-key" StorageReferenceId="B2C_1A_RestApiKey" />
      </CryptographicKeys>
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
Relaterat innehåll
- Kom igång med våra exempel.
- Läs mer om elementet RESTful teknisk profil i referensen för den anpassade principen.