Ich möchte, dass die policyId in die Ansprüche aufgenommen wird, die zurückgegeben werden, wenn meine angepasste SignUpSignIn-Richtlinie ausgeführt wird.Wie kann ich den PolicyId-Anspruch nach Ausführung meiner benutzerdefinierten SignUpSignIn-Richtlinie zurückgeben?
Ich denke, das sollte in Anspruch Id tfp
sein.
Dort is an article auf wie dies zu tun ist.
Im Abschnitt "Einstellen des Anspruchs, der die Policy-ID darstellt" wird der Schlüssel AuthenticationContextReferenceClaimPattern
in der ClaimsProvider-Überschreibung "Token-Issuer" eingefügt.
<ClaimsProviders>
<ClaimsProvider>
<DisplayName>Token Issuer</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="JwtIssuer">
<Metadata>
.....
<Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
</Metadata>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
</ClaimsProviders>
Und dann müssen Sie die trustFrameworkPolicy
in Ihrem outputClaims
hinzuzufügen. Ich denke so:
<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="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
Aber wenn ich laden, dieses kundenspezifische Politik eine Fehlerdatei wird angezeigt:
„Policy "B2C_1A_xxxx" der Mieter "yyyyy.onmicrosoft.com" Marken ein Verweis auf ClaimType mit der ID "trustframeworkPolicy", aber weder die Richtlinie noch eine ihrer Basisrichtlinien enthalten ein solches Element. "
Bedeutet, dass es die ClaimTypeReferenceId nicht finden kann: "trustFrameworkPolicy".
Muss ich eine Anspruchsdefinition des ClaimType "trustframeworkPolicy" hinzufügen? im ClaimsSchema?
Wenn ja: Wie ist es?
Das war die richtige Antwort! Um den PolicyName in den "tfp" -Anspruch aufzunehmen, musste ich die Aktionen in meiner Frage ausführen und den claimType hinzufügen, wie @spottedmahn es mir gezeigt hat. – Rikkert
[GitHub Issue] (https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/issues/11), um den 'ClaimType' zum Startpaket hinzuzufügen. – spottedmahn