R4j*_*R4j 5 azure azure-active-directory azure-ad-b2c
我的系统需要在注册和登录时使用无密码和电子邮件身份验证。
这意味着用户只需输入电子邮件,然后系统会将一次性密码发送到该电子邮件并让用户登录(如果没有帐户)然而,只需使用该电子邮件默默地使用默认信息创建一个新的)
我尝试了此示例,它适用于现有的本地用户(使用电子邮件和密码)
是否有办法仅使用电子邮件创建本地用户?我的用户只看到输入电子邮件屏幕和输入密码屏幕。他们不需要填写其他任何东西。
创建本地用户帐户时,必须设置密码属性,这就是示例流程提示新用户进行此操作的原因。
如果您不想提示这一点,则可以将密码属性设置为随机值,如下所示。
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
...
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="Verified.Email" Required="true" />
<OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" />
<OutputClaim ClaimTypeReferenceId="newUser" />
<!-- Optional claims, to be collected from the user -->
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surName" />
</OutputClaims>
...
</TechnicalProfile>
Run Code Online (Sandbox Code Playgroud)
<TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
...
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="GenerateNewPassword" />
</InputClaimsTransformations>
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" Required="true" />
</InputClaims>
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="accountEnabled" DefaultValue="false" AlwaysUseDefaultValue="true" />
<PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" />
<PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password"/>
<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration,DisableStrongPassword" />
...
</PersistedClaims>
</TechnicalProfile>
Run Code Online (Sandbox Code Playgroud)
<ClaimType Id="accountEnabled">
<DisplayName>Account Enabled</DisplayName>
<DataType>boolean</DataType>
</ClaimType>
Run Code Online (Sandbox Code Playgroud)
<ClaimsTransformation Id="GenerateNewPassword" TransformationMethod="CreateRandomString">
<InputParameters>
<InputParameter Id="randomGeneratorType" DataType="string" Value="GUID" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="newPassword" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2819 次 |
| 最近记录: |