0

I am trying to customize the signin page. My problem is the follwoing. In the sign in page, I need to have a dropdown so the user can select the preferred MFA method. However, as you can see, there is no dropdown, and when the user introduces username and password, it gives you an error because authentication method is missing (the dropdown). On the base policy:

    <ClaimType Id="selectedAuthenticationMethod">
        <DisplayName>Authentication Method</DisplayName>
        <DataType>string</DataType>
        <UserInputType>DropdownSingleSelect</UserInputType>
        <Restriction>
            <Enumeration Text="App"
                         Value="app"
                         SelectByDefault="true" />
            <Enumeration Text="Phone"
                         Value="phone" />
            <Enumeration Text="Email"
                         Value="email" />
        </Restriction>
    </ClaimType>
        <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
            <DisplayName>Local Account Signin</DisplayName>
            <Protocol Name="Proprietary"
                      Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
            <Metadata>
                <Item Key="SignUpTarget">SignUpWithLogonEmailExchange</Item>
                <Item Key="setting.operatingMode">Email</Item>
                <Item Key="setting.showSignupLink">false</Item>
                <!-- Item Key="ContentDefinitionReferenceId">api.localaccountsignin</Item -->
                <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
            </Metadata>
            <IncludeInSso>false</IncludeInSso>
            <InputClaims>
                <InputClaim ClaimTypeReferenceId="signInName"
                            DefaultValue="{OIDC:LoginHint}"
                            AlwaysUseDefaultValue="true" />
            </InputClaims>
            <OutputClaims>
                <OutputClaim ClaimTypeReferenceId="signInName"
                             Required="true" />
                <OutputClaim ClaimTypeReferenceId="password"
                             Required="true" />
                <OutputClaim ClaimTypeReferenceId="objectId" />
                <OutputClaim ClaimTypeReferenceId="authenticationSource" />
                <OutputClaim ClaimTypeReferenceId="selectedAuthenticationMethod" Required="true"/>
            </OutputClaims>
            <ValidationTechnicalProfiles>
                <ValidationTechnicalProfile ReferenceId="login-NonInteractive" />
            </ValidationTechnicalProfiles>
            <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
        </TechnicalProfile>

Subjourney:

 <SubJourney Id="SignInBase"
                    Type="Call">
            <OrchestrationSteps>
                <OrchestrationStep Order="1"
                                   Type="CombinedSignInAndSignUp"
                                   ContentDefinitionReferenceId="api.signuporsignin">
                    <ClaimsProviderSelections>
                        <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
                    </ClaimsProviderSelections>
                    <ClaimsExchanges>
                        <ClaimsExchange Id="LocalAccountSigninEmailExchange"
                                        TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
                    </ClaimsExchanges>
                </OrchestrationStep>
                <OrchestrationStep Order="2"
                                   Type="ClaimsExchange">
                    <ClaimsExchanges>
                        <ClaimsExchange Id="AADUserReadWithEmailAddressBefore"
                                        TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
                    </ClaimsExchanges>
                </OrchestrationStep>

Localization:

 <LocalizedResources Id="api.signuporsignin.en">
                <LocalizedCollections>
                    <LocalizedCollection ElementType="ClaimType"
                                         ElementId="selectedAuthenticationMethod"
                                         TargetCollection="Restriction">
                        <Item Text="App"
                              Value="app"
                              SelectByDefault="true" />
                        <Item Text="Phone"
                              Value="phone" />
                        <Item Text="Email"
                              Value="email" />
                    </LocalizedCollection>
                </LocalizedCollections>
                <LocalizedStrings>

enter image description here

Any help, please?

myself
  • 103
  • 7

1 Answers1

0

You can't introduce a new entry (variable) in api.signuporsignin, you can do it in api.selfasserted but that would be inside of a list.

myself
  • 103
  • 7