密码重置策略验证技术配置文件调用获取Bearer Token配置的实现问题
解决方法
你可以通过调整验证技术配置的执行顺序,先调用令牌获取接口得到bearerToken声明,再供给后续业务API使用,具体操作如下:
- 确认
REST-AcquireAccessToken技术配置已正确配置,且会输出bearerToken声明,示例配置参考:
<TechnicalProfile Id="REST-AcquireAccessToken"> <DisplayName>Acquire Bearer Token for API Call</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <!-- 你的令牌获取接口地址、认证方式等配置 --> <Item Key="ServiceUrl">{你的令牌签发接口地址}</Item> <Item Key="SendClaimsIn">Form</Item> <Item Key="AuthenticationType">Basic</Item> <!-- 其他需要的元数据配置 --> </Metadata> <!-- 这里填获取令牌需要的输入参数,比如客户端ID、客户端秘钥等 --> <InputClaims> </InputClaims> <!-- 务必配置OutputClaims映射接口返回的令牌到bearerToken声明 --> <OutputClaims> <OutputClaim ClaimTypeReferenceId="bearerToken" PartnerClaimType="access_token" /> </OutputClaims> </TechnicalProfile>
- 修改
LocalAccountDiscoveryUsingEmailAddress的验证技术配置列表,将令牌获取步骤放在业务API调用之前,B2C会按从上到下的顺序执行验证步骤:
<TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress"> <ValidationTechnicalProfiles> <!-- 先执行令牌获取步骤 --> <ValidationTechnicalProfile ReferenceId="REST-AcquireAccessToken" ContinueOnError="false"/> <!-- 拿到令牌后再执行成员校验接口调用 --> <ValidationTechnicalProfile ReferenceId="REST-CheckMemberAccountHolder" ContinueOnError="false"/> </ValidationTechnicalProfiles> </TechnicalProfile>
注意事项
- 令牌获取步骤的
ContinueOnError必须设置为false,避免令牌获取失败后仍发起无效的业务接口请求 - 确保
bearerToken声明未被设置为持久化声明,避免不必要的令牌泄露风险 - 如果令牌获取接口本身需要其他参数,可在
InputClaims节点中补充对应的声明映射
内容的提问来源于stack exchange,提问作者Bnd10706
相关产品推荐
相关产品推荐

