Created
March 8, 2022 22:50
-
-
Save rbrayb/894383514cadc6b2db809b88b49101fc to your computer and use it in GitHub Desktop.
Mocking B2C REST API calls
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |
<TrustFrameworkPolicy | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" | |
PolicySchemaVersion="0.3.0.0" | |
TenantId="yourtenant.onmicrosoft.com" | |
PolicyId="B2C_1A_Beeceptor_Test" | |
PublicPolicyUri="http://yourtenant.onmicrosoft.com/B2C_1A_Beeceptor_Test" | |
DeploymentMode="Development" | |
UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"> | |
<BasePolicy> | |
<TenantId>yourtenant.onmicrosoft.com</TenantId> | |
<PolicyId>B2C_1A_TRUSTFRAMEWORKBASEMFA</PolicyId> | |
</BasePolicy> | |
<BuildingBlocks> | |
<ClaimsSchema> | |
<ClaimType Id="id"> | |
<DisplayName>ID</DisplayName> | |
<DataType>string</DataType> | |
</ClaimType> | |
<ClaimType Id="result"> | |
<DisplayName>result</DisplayName> | |
<DataType>string</DataType> | |
</ClaimType> | |
<ClaimType Id="showError"> | |
<DisplayName>Show error message</DisplayName> | |
<DataType>string</DataType> | |
<UserHelpText>Show error message</UserHelpText> | |
<UserInputType>RadioSingleSelect</UserInputType> | |
<Restriction> | |
<Enumeration Text="Yes" Value="yes"/> | |
<Enumeration Text="No" Value="no"/> | |
</Restriction> | |
</ClaimType> | |
</ClaimsSchema> | |
<ClaimsTransformations> | |
<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson"> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="id" TransformationClaimType="StringClaim"/> | |
</InputClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim"/> | |
</OutputClaims> | |
</ClaimsTransformation> | |
</ClaimsTransformations> | |
</BuildingBlocks> | |
<ClaimsProviders> | |
<ClaimsProvider> | |
<DisplayName>REST APIs</DisplayName> | |
<TechnicalProfiles> | |
<TechnicalProfile Id="REST-TestAPI"> | |
<DisplayName>TestAPI</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://b2cxxx.free.beeceptor.com/get-customer-details</Item> | |
<Item Key="SendClaimsIn">Body</Item> | |
<Item Key="AuthenticationType">None</Item> | |
<Item Key="AllowInsecureAuthInProduction">false</Item> | |
</Metadata> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="id" DefaultValue="123456" AlwaysUseDefaultValue="true"/> | |
</InputClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName"/> | |
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="familyName"/> | |
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/> | |
</OutputClaims> | |
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop"/> | |
</TechnicalProfile> | |
<TechnicalProfile Id="REST-TestAPI-Error"> | |
<DisplayName>TestAPI-Error</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://b2cxxx.free.beeceptor.com/error</Item> | |
<Item Key="SendClaimsIn">Body</Item> | |
<Item Key="AuthenticationType">None</Item> | |
<Item Key="AllowInsecureAuthInProduction">false</Item> | |
</Metadata> | |
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop"/> | |
</TechnicalProfile> | |
<TechnicalProfile Id="GetUserName"> | |
<DisplayName>Get user name</DisplayName> | |
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> | |
<Metadata> | |
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> | |
<Item Key="language.button_continue">Get Customer Details</Item> | |
<Item Key="setting.showCancelButton">false</Item> | |
</Metadata> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="signInName"/> | |
</InputClaims> | |
<DisplayClaims> | |
<DisplayClaim ClaimTypeReferenceId="signInName"/> | |
</DisplayClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="signInName"/> | |
<OutputClaim ClaimTypeReferenceId="givenName"/> | |
<OutputClaim ClaimTypeReferenceId="surname"/> | |
<OutputClaim ClaimTypeReferenceId="email"/> | |
</OutputClaims> | |
<OutputClaimsTransformations> | |
<OutputClaimsTransformation ReferenceId="GenerateJsonPayload"/> | |
</OutputClaimsTransformations> | |
<ValidationTechnicalProfiles> | |
<ValidationTechnicalProfile ReferenceId="REST-TestAPI"/> | |
</ValidationTechnicalProfiles> | |
</TechnicalProfile> | |
<TechnicalProfile Id="WantError"> | |
<DisplayName>Want error</DisplayName> | |
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> | |
<Metadata> | |
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> | |
<Item Key="language.button_continue">Next</Item> | |
<Item Key="setting.showCancelButton">false</Item> | |
</Metadata> | |
<DisplayClaims> | |
<DisplayClaim ClaimTypeReferenceId="showError"/> | |
</DisplayClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="showError"/> | |
</OutputClaims> | |
</TechnicalProfile> | |
<TechnicalProfile Id="GetError"> | |
<DisplayName>Get error</DisplayName> | |
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> | |
<Metadata> | |
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> | |
<Item Key="language.button_continue">Get Error</Item> | |
<Item Key="setting.showCancelButton">false</Item> | |
</Metadata> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="signInName"/> | |
</InputClaims> | |
<DisplayClaims> | |
<DisplayClaim ClaimTypeReferenceId="signInName"/> | |
</DisplayClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="signInName"/> | |
</OutputClaims> | |
<ValidationTechnicalProfiles> | |
<ValidationTechnicalProfile ReferenceId="REST-TestAPI-Error"/> | |
</ValidationTechnicalProfiles> | |
</TechnicalProfile> | |
</TechnicalProfiles> | |
</ClaimsProvider> | |
</ClaimsProviders> | |
<UserJourneys xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"> | |
<UserJourney Id="Test_Beeceptor_API"> | |
<OrchestrationSteps> | |
<OrchestrationStep Order="1" Type="ClaimsExchange"> | |
<ClaimsExchanges> | |
<ClaimsExchange Id="GetUserName" TechnicalProfileReferenceId="GetUserName"/> | |
</ClaimsExchanges> | |
</OrchestrationStep> | |
<OrchestrationStep Order="2" Type="ClaimsExchange"> | |
<ClaimsExchanges> | |
<ClaimsExchange Id="WantError" TechnicalProfileReferenceId="WantError"/> | |
</ClaimsExchanges> | |
</OrchestrationStep> | |
<OrchestrationStep Order="3" Type="ClaimsExchange"> | |
<Preconditions> | |
<Precondition Type="ClaimEquals" ExecuteActionsIf="true"> | |
<Value>showError</Value> | |
<Value>no</Value> | |
<Action>SkipThisOrchestrationStep</Action> | |
</Precondition> | |
</Preconditions> | |
<ClaimsExchanges> | |
<ClaimsExchange Id="GetError" TechnicalProfileReferenceId="GetError"/> | |
</ClaimsExchanges> | |
</OrchestrationStep> | |
<OrchestrationStep Order="4" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer"/> | |
</OrchestrationSteps> | |
<ClientDefinition ReferenceId="DefaultWeb"/> | |
</UserJourney> | |
</UserJourneys> | |
<RelyingParty> | |
<DefaultUserJourney ReferenceId="Test_Beeceptor_API"/> | |
<UserJourneyBehaviors> | |
<SingleSignOn Scope="Tenant" KeepAliveInDays="90"/> | |
<SessionExpiryType>Absolute</SessionExpiryType> | |
<SessionExpiryInSeconds>1200</SessionExpiryInSeconds> | |
<JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="xyz" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0"/> | |
</UserJourneyBehaviors> | |
<TechnicalProfile Id="PolicyProfile"> | |
<DisplayName>PolicyProfile</DisplayName> | |
<Protocol Name="OpenIdConnect"/> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="givenName"/> | |
<OutputClaim ClaimTypeReferenceId="surname"/> | |
<OutputClaim ClaimTypeReferenceId="email"/> | |
<OutputClaim ClaimTypeReferenceId="objectId" DefaultValue="1234567890" PartnerClaimType="sub"/> | |
</OutputClaims> | |
<SubjectNamingInfo ClaimType="sub"/> | |
</TechnicalProfile> | |
</RelyingParty> | |
</TrustFrameworkPolicy> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://medium.com/the-new-control-plane/mocking-azure-ad-b2c-rest-api-calls-a83c74252be5