Reputation: 563
I am trying to add orchestration steps to my Azure B2C IEF user journey however, when I make changes I often times get error: "500 - Internal Server Error"
I have tried using Application Insights, but that does not tell you anything related to error 500.
Here is my Technical Profile
<TechnicalProfile Id="Step1">
<DisplayName>Step 1</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="Email" Required="true"/>
<OutputClaim ClaimTypeReferenceId="newPassword" Required="true" />
<OutputClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
</OutputClaims>
</TechnicalProfile>
And here is my User Journey Step
<OrchestrationStep Order="3" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>objectId</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="Step1" />
</ClaimsExchanges>
</OrchestrationStep>
Is there a way to find out what is causing these 500 - internal server errors?
Upvotes: 3
Views: 1241
Reputation: 2293
ContentDefinition: The SelfAssertedAttributeProvider
technical profile must have a ContentDefinition
specified in the Metadata
section. That is missing in your technical profile.
OutputClaims:
There is no ValidationTechnicalProfile
in the technical profile Step1
. That could potentially be an issue. Since these are OutputClaims
, the policy must specify a way to create a value for each of those (even if at run time it may not actually get created). So an OutputClaim
must have one of the three:
DefaultValue
, which guarantees that it will have that value after the TechnicalProfile
has been invoked.UserInputType
in the ClaimType
under the ClaimsSchema
section, which indicates that there is a way to retrieve that value from the user.OutputClaim
of a ValidationTechnicalProfile
, which will allow another provider to retrieve such a value (e.g. from AD Graph, or a Rest API).CryptographicKeys: SelfAssertedAttributeProvider
TechnicalProfile
also needs a CryptographicKeys
section which specifies a key used by the provider.
I would recommend copying a technical profile from the Starter Packs Github and modify those since those will contain all the required elements.
(The fact that the service is returning 500 is a bug, and needs to be fixed.)
Upvotes: 3