Azure AD B2C 是否为每个注册或登录策略提供一个终结点,例如来自 OIDC 的用户信息URI



是否有适用于 Azure AD B2C 策略的任何用户信息uri 终结点?从Spring安全DefaultOAuth2UserService的实现来看,它需要用户信息URI进行标准Oauth2Login过程。

如果不是,我们如何从 AD B2C 策略获取用户信息?

弹簧安全参考代码:

@Override
public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException {
    Assert.notNull(userRequest, "userRequest cannot be null");
    if (!StringUtils.hasText(userRequest.getClientRegistration().getProviderDetails().getUserInfoEndpoint().getUri())) {
        OAuth2Error oauth2Error = new OAuth2Error(
            MISSING_USER_INFO_URI_ERROR_CODE,
            "Missing required UserInfo Uri in UserInfoEndpoint for Client Registration: " +
                userRequest.getClientRegistration().getRegistrationId(),
            null
        );
        throw new OAuth2AuthenticationException(oauth2Error, oauth2Error.toString());
    }
    ...

截至目前,Azure AD B2C 仅通过自定义策略支持用户信息终结点。

如果使用内置的用户流策略,则必须自行设置并硬编码库以查看自定义终结点。终结点只需读取 id 令牌,对其进行验证,然后以 JSON 格式返回其中的声明。

Azure AD 用户语音上有一个功能请求。

最新更新