-
-
Save mmaedler/0a555fc3f9e6036e235a15419e7afdd5 to your computer and use it in GitHub Desktop.
LL Notification Test RP
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="<!-- ...REDACTED... -->" | |
PolicyId="B2C_1A_signup_notificationtest" | |
PublicPolicyUri="http://<!-- ...REDACTED... -->/B2C_1A_signup_notificationtest" | |
DeploymentMode="Development" | |
UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights" | |
> | |
<BasePolicy> | |
<TenantId><!-- ...REDACTED... --></TenantId> | |
<PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId> | |
</BasePolicy> | |
<BuildingBlocks> | |
<!-- Register new and required data fields --> | |
<ClaimsSchema> | |
<ClaimType Id="Otp"> | |
<DisplayName>Secondary One-time password</DisplayName> | |
<DataType>string</DataType> | |
</ClaimType> | |
<ClaimType Id="llNotificationRequestBody"> | |
<DisplayName>Request Body that is sent to LL Notification Service</DisplayName> | |
<DataType>string</DataType> | |
</ClaimType> | |
<ClaimType Id="VerificationCode"> | |
<DisplayName>Secondary Verification Code</DisplayName> | |
<DataType>string</DataType> | |
<UserHelpText>Enter your email verification code</UserHelpText> | |
<UserInputType>TextBox</UserInputType> | |
</ClaimType> | |
</ClaimsSchema> | |
<!-- Generate Request Body Payload --> | |
<ClaimsTransformations> | |
<ClaimsTransformation Id="GenerateLLNotificationRequestBody" TransformationMethod="GenerateJson"> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="recipient.address" /> | |
<InputClaim ClaimTypeReferenceId="otp" TransformationClaimType="properties.0.value" /> | |
</InputClaims> | |
<InputParameters> | |
<InputParameter Id="channel" DataType="string" Value="email"/> | |
<InputParameter Id="country_code" DataType="string" Value="DE"/> | |
<InputParameter Id="locale" DataType="string" Value="de_DE"/> | |
<InputParameter Id="template.id" DataType="int" Value="41"/> | |
<InputParameter Id="properties.0.name" DataType="string" Value="customernumber"/> | |
<InputParameter Id="status" DataType="string" Value="sending"/> | |
</InputParameters> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="llNotificationRequestBody" TransformationClaimType="outputClaim"/> | |
</OutputClaims> | |
</ClaimsTransformation> | |
</ClaimsTransformations> | |
<!-- Update content definition to 2.0.0 so we can use display controls --> | |
<ContentDefinitions> | |
<ContentDefinition Id="api.localaccountsignup"> | |
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri> | |
</ContentDefinition> | |
</ContentDefinitions> | |
<!-- Create a new display control for entering email and otp code --> | |
<DisplayControls> | |
<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl"> | |
<DisplayClaims> | |
<DisplayClaim ClaimTypeReferenceId="email" Required="true" /> | |
<DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" /> | |
</DisplayClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="email" /> | |
</OutputClaims> | |
<Actions> | |
<Action Id="SendCode"> | |
<ValidationClaimsExchange> | |
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="GenerateOtp" /> | |
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="llNotification" /> | |
</ValidationClaimsExchange> | |
</Action> | |
<Action Id="VerifyCode"> | |
<ValidationClaimsExchange> | |
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="VerifyOtp" /> | |
</ValidationClaimsExchange> | |
</Action> | |
</Actions> | |
</DisplayControl> | |
</DisplayControls> | |
</BuildingBlocks> | |
<ClaimsProviders> | |
<ClaimsProvider> | |
<DisplayName>One time password technical profiles</DisplayName> | |
<TechnicalProfiles> | |
<TechnicalProfile Id="GenerateOtp"> | |
<DisplayName>Generate one time password</DisplayName> | |
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> | |
<Metadata> | |
<Item Key="Operation">GenerateCode</Item> | |
<Item Key="CodeExpirationInSeconds">1200</Item> | |
<Item Key="CodeLength">6</Item> | |
<Item Key="CharacterSet">0-9</Item> | |
<Item Key="ReuseSameCode">true</Item> | |
<Item Key="MaxNumAttempts">5</Item> | |
</Metadata> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="identifier" /> | |
</InputClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="otp" PartnerClaimType="otpGenerated" /> | |
</OutputClaims> | |
</TechnicalProfile> | |
<TechnicalProfile Id="VerifyOtp"> | |
<DisplayName>Verify one time password</DisplayName> | |
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> | |
<Metadata> | |
<Item Key="Operation">VerifyCode</Item> | |
</Metadata> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="identifier" /> | |
<InputClaim ClaimTypeReferenceId="verificationCode" PartnerClaimType="otpToVerify" /> | |
</InputClaims> | |
</TechnicalProfile> | |
</TechnicalProfiles> | |
</ClaimsProvider> | |
<!-- Setup LL Notification service --> | |
<ClaimsProvider> | |
<DisplayName>LL Notification Service</DisplayName> | |
<TechnicalProfiles> | |
<TechnicalProfile Id="llNotification"> | |
<!-- ... REDACTED ... --> | |
</TechnicalProfile> | |
</TechnicalProfiles> | |
</ClaimsProvider> | |
<!-- Overwrite technical existing default profile for now --> | |
<ClaimsProvider> | |
<DisplayName>Local Account SignUp Only</DisplayName> | |
<TechnicalProfiles> | |
<!-- Signup step1: email validation only --> | |
<TechnicalProfile Id="LocalAccountSignUpMultiStep-1"> | |
<DisplayName>Email signup</DisplayName> | |
<Protocol Name="Proprietary" | |
Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> | |
<Metadata> | |
<Item Key="IpAddressClaimReferenceId">IpAddress</Item> | |
<Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item> | |
<Item Key="language.button_continue">Continue</Item> | |
</Metadata> | |
<CryptographicKeys> | |
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer"/> | |
</CryptographicKeys> | |
<InputClaims> | |
<InputClaim ClaimTypeReferenceId="email"/> | |
</InputClaims> | |
<DisplayClaims> | |
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" /> | |
</DisplayClaims> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="Verified.Email" Required="true"/> | |
<OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true"/> | |
</OutputClaims> | |
</TechnicalProfile> | |
</TechnicalProfiles> | |
</ClaimsProvider> | |
</ClaimsProviders> | |
<RelyingParty> | |
<DefaultUserJourney ReferenceId="LL-SignUp-Only"/> | |
<UserJourneyBehaviors> | |
<JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="<!-- ...REDACTED... -->" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" /> | |
<ScriptExecution>Allow</ScriptExecution> | |
</UserJourneyBehaviors> | |
<TechnicalProfile Id="PolicyProfile"> | |
<DisplayName>PolicyProfile</DisplayName> | |
<Protocol Name="OpenIdConnect"/> | |
<OutputClaims> | |
<OutputClaim ClaimTypeReferenceId="displayName"/> | |
<OutputClaim ClaimTypeReferenceId="extension_Salutation"/> | |
<OutputClaim ClaimTypeReferenceId="givenName"/> | |
<OutputClaim ClaimTypeReferenceId="surname"/> | |
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email"/> | |
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/> | |
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="lluid"/> | |
<OutputClaim ClaimTypeReferenceId="country"/> | |
<OutputClaim ClaimTypeReferenceId="extension_Company"/> | |
<OutputClaim ClaimTypeReferenceId="extension_Kundennummer"/> | |
<!--<OutputClaim ClaimTypeReferenceId="extension_ApplicationFlag" />--> | |
<OutputClaim ClaimTypeReferenceId="newUser"/> | |
<OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/> | |
</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