Skapa verifierbara autentiseringsuppgifter för ID-token
En regeldefinition som använder idTokens-attesteringen skapar ett utfärdandeflöde där du måste göra en interaktiv inloggning till en OpenID Anslut-identitetsprovider (OIDC) i Microsoft Authenticator. Anspråk i ID-token som identitetsprovidern returnerar kan användas för att fylla i den utfärdade verifierbara autentiseringsuppgiften. Avsnittet för anspråksmappning i regeldefinitionen anger vilka anspråk som används.
Skapa en anpassad autentiseringsuppgift med idTokens-attesteringstypen
När du väljer Lägg till autentiseringsuppgifter i Azure-portalen får du alternativet att starta två snabbstarter. Välj anpassade autentiseringsuppgifter och välj sedan Nästa.
På sidan Skapa en ny autentiseringsuppgift anger du JSON-koden för visningen och regeldefinitionerna. I rutan Namn på autentiseringsuppgifter ger du autentiseringsuppgifterna ett typnamn. Om du vill skapa autentiseringsuppgifterna väljer du Skapa.
Exempel på JSON-visningsdefinitioner
JSON-visningsdefinitionen är nästan densamma, oavsett attesteringstyp. Du behöver bara justera etiketterna enligt de anspråk som dina verifierbara autentiseringsuppgifter har. Förväntad JSON för visningsdefinitionerna är det inre innehållet i visningssamlingen. JSON är en samling, så om du vill stödja flera nationella inställningar lägger du till flera poster med kommatecken som avgränsare.
{
"locale": "en-US",
"card": {
"title": "Verified Credential Expert",
"issuedBy": "Microsoft",
"backgroundColor": "#000000",
"textColor": "#ffffff",
"logo": {
"uri": "https://didcustomerplayground.blob.core.windows.net/public/VerifiedCredentialExpert_icon.png",
"description": "Verified Credential Expert Logo"
},
"description": "Use your verified credential to prove to anyone that you know all about verifiable credentials."
},
"consent": {
"title": "Do you want to get your Verified Credential?",
"instructions": "Sign in with your account to get your card."
},
"claims": [
{
"claim": "vc.credentialSubject.userName",
"label": "User name",
"type": "String"
},
{
"claim": "vc.credentialSubject.displayName",
"label": "Display name",
"type": "String"
},
{
"claim": "vc.credentialSubject.firstName",
"label": "First name",
"type": "String"
},
{
"claim": "vc.credentialSubject.lastName",
"label": "Last name",
"type": "String"
}
]
}
Exempel på JSON-regeldefinitioner
JSON-attesteringsdefinitionen bör innehålla idTokens-namnet, OIDC-konfigurationsinformationen (clientId, konfiguration, redirectUri och omfång) och avsnittet för anspråksmappning. Den förväntade JSON för regeldefinitionerna är det inre innehållet i regelattributet, som börjar med attesteringsattributet.
Anspråksmappningen i följande exempel kräver att du konfigurerar token enligt beskrivningen i avsnittet Anspråk i ID-token från avsnittet identitetsprovider .
{
"attestations": {
"idTokens": [
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid/",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "userName",
"required": true,
"inputClaim": "$.upn",
"indexed": true
},
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": false
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Programregistrering
Attributet clientId är program-ID för ett registrerat program i OIDC-identitetsprovidern. För Microsoft Entra-ID skapar du programmet genom att göra följande:
Gå till Microsoft Entra-ID i Azure-portalen.
Välj Appregistreringar, välj Ny registrering och ge sedan appen ett namn.
Om du bara vill att konton i din klientorganisation ska kunna logga in kan du endast markera kryssrutan Konton i den här katalogen.
I Omdirigerings-URI (valfritt) väljer du Offentlig klient/intern (mobil och skrivbord) och anger sedan vcclient://openid/.
Om du vill kunna testa vilka anspråk som finns i Microsoft Entra-token gör du följande:
I den vänstra rutan väljer du Autentisering>Lägg till plattformswebb.>
För Omdirigerings-URI anger du https://jwt.msoch väljer sedan ID-token (används för implicita flöden och hybridflöden)..
Välj Konfigurera.
När du har testat din ID-token kan du överväga att ta bort https://jwt.ms och stöd för implicita flöden och hybridflöden.
För Microsoft Entra-ID: Du kan testa din appregistrering och om du har aktiverat stöd för omdirigering till https://jwt.mskan du hämta en ID-token genom att köra följande i webbläsaren:
https://login.microsoftonline.com/<your-tenantId>/oauth2/v2.0/authorize?client_id=<your-appId>&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid%20profile&response_type=id_token&prompt=login
Ersätt ditt klient-ID> med ditt klient-ID i koden<. För att få de extra anspråken måste du ha en profil som en del av omfånget.
För Azure Active Directory B2C: Appregistreringsprocessen är densamma, men B2C har inbyggt stöd i Azure-portalen för att testa dina B2C-principer via funktionen Kör användarflöde .
Anspråk i ID-token från identitetsprovidern
Anspråk måste finnas i den returnerade identitetsprovidern så att de kan fylla i dina verifierbara autentiseringsuppgifter.
Om anspråken inte finns finns det inget värde i den utfärdade verifierbara autentiseringsuppgiften. De flesta OIDC-identitetsprovidrar utfärdar inte ett anspråk i en ID-token om anspråket har ett null-värde i din profil. Se till att inkludera anspråket i ID-tokendefinitionen och se till att du har angett ett värde för anspråket i din användarprofil.
För Microsoft Entra-ID: Information om hur du konfigurerar anspråken att inkludera i din token finns i Ange valfria anspråk till din app. Konfigurationen är per program, så den här konfigurationen bör vara för den app som har det program-ID som anges i klient-ID:t i regeldefinitionen.
Om du vill matcha visnings- och regeldefinitionerna bör du få programmets optionalClaims JSON att se ut så här:
"optionalClaims": {
"idToken": [
{
"name": "upn",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "family_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "given_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "preferred_username",
"source": null,
"essential": false,
"additionalProperties": []
}
],
"accessToken": [],
"saml2Token": []
},
För Azure Active Directory B2C: Konfigurera andra anspråk i din ID-token beror på om din B2C-princip är ett användarflöde eller en anpassad princip. Information om användarflöden finns i Konfigurera ett registrerings- och inloggningsflöde i Azure Active Directory B2C. Information om anpassad princip finns i Ange valfria anspråk till din app.
Andra identitetsprovidrar finns i relevant dokumentation.
Konfigurera exemplen för att utfärda och verifiera dina anpassade autentiseringsuppgifter
För att konfigurera exempelkoden för att utfärda och verifiera dina anpassade autentiseringsuppgifter behöver du:
- Klientorganisationens decentraliserade identifierare (DID)
- Typ av autentiseringsuppgifter
- Manifest-URL:en till dina autentiseringsuppgifter
Det enklaste sättet att hitta den här informationen för en anpassad autentiseringsuppgift är att gå till dina autentiseringsuppgifter i Azure-portalen. Välj Problemautentiseringsuppgifter. Sedan har du åtkomst till en textruta med en JSON-nyttolast för API:et för begärandetjänsten. Ersätt platshållarvärdena med din miljöinformation. Utfärdarens DID är utfärdarvärdet.