如何使用custom policy搭建仅注册功能站点,支持选择本地账户与社交提供商
仅支持注册功能的自定义策略实现方案
核心实现逻辑是修改 starter pack 默认的登录注册组合流,删除所有登录相关的判定、执行步骤,仅保留身份提供商选择、注册流程即可,完全可以满足需求:
- 调整用户旅程的入口逻辑
复用 starter pack 中的SignUpOrSignIn用户旅程作为基础,第一步直接设置为 ClaimsProviderSelection 类型的编排步骤,对应的内容定义配置为api.idpselections用来展示账户类型选择页。所有选项只保留注册相关配置:本地账户选项隐藏登录入口,仅保留「注册本地账户」按钮,社交提供商选项的按钮文本可自定义为「注册XX账户」,如果是需要跳转至第三方外部注册站点,直接在对应社交身份提供商的技术配置文件中填写外部注册站点的授权端点即可。 - 修改本地账户注册的技术配置
保留LocalAccountSignUpWithLogonEmail技术配置文件,删除其中关联的已有用户校验、登录密码验证逻辑,仅保留新用户注册所需的信息收集、账户创建逻辑即可。 - 移除所有登录分支逻辑
删除用户旅程中所有关联SelfAsserted-LocalAccountSignin-Email登录页面的编排步骤,社交身份提供商的技术配置中关闭已有用户自动匹配、自动登录的逻辑,强制所有选择社交账户的用户走新用户注册的信息收集流程。 - 配置注册完成后的返回逻辑
最后一步保留SendClaims编排步骤,确保用户注册完成后直接返回令牌到业务应用,无需跳转至其他中间页面。
测试时注意先更新完基础策略文件(TrustFrameworkBase、TrustFrameworkExtensions)再上传自定义策略,如果选择页出现多余的登录选项,检查对应身份提供商配置项的
DefaultUserFlowType参数是否设置为SignUp。
内容的提问来源于stack exchange,提问作者HowToTellAChild
相关产品推荐
相关产品推荐

