我要求允许用户使用他们在注册期间创建的电子邮件或用户名登录。
以下代码片段是我的用户旅程步骤,它引用了基础技术配置文件。引用ContentDefinition的是利用unifiedssp:1.1.0数据模型。
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
<ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
</ClaimsProviderSelections>
<ClaimsExchanges>
<ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SA-LocalAccount-SignIn" />
</ClaimsExchanges>
</OrchestrationStep>
以及对登录标识符和密码执行验证检查的引用技术配置文件:
<TechnicalProfile Id="SA-LocalAccount-SignIn">
<DisplayName>Local Account Sign In</DisplayName>
<Protocol Name="Proprietary"
Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="SignUpTarget">LocalAccountSignUp</Item>
<Item Key="setting.operatingMode">Username</Item>
<Item Key="ContentDefinitionReferenceId">api.localaccountsignin</Item>
</Metadata>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="signInName" Required="true" />
<OutputClaim ClaimTypeReferenceId="password" Required="true" />
<OutputClaim ClaimTypeReferenceId="objectId" Required="true" />
</OutputClaims>
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="LoginToAzureAD-OIDC" />
</ValidationTechnicalProfiles>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>
我知道setting.operatingMode定义所需的登录标识符是否为Username或Email。是否有第三种选择允许两者?
指定一个会在登录标识符字段上强制执行正则表达式,并防止使用另一个,即如果setting.operatingMode设置为,则不接受电子邮件地址作为输入Username。