Azure ad b2c 如何使用B2C自定义策略将登录限制到指定的Ip地址范围

Azure ad b2c 如何使用B2C自定义策略将登录限制到指定的Ip地址范围,azure-ad-b2c,identity-experience-framework,Azure Ad B2c,Identity Experience Framework,我使用B2C自定义策略登录用户。是否可以限制用户只能从指定的Ip地址(或范围)登录?目前Azure AD B2C中没有此类功能。您可以提交有关的反馈 您可以尝试自己实现这一点,请参考下面的想法 您可以调用RESTAPI并将IP地址传递给它。可以使用声明解析程序解析IP地址。如果是一个IP地址,则可以在策略中执行声明转换,以检查用户IP是否匹配。否则,如果需要检查ip范围内的用户ip,则需要在RESTAPI中执行该逻辑 与此类似的方法: 您还可以创建声明转换,检查客户端IP是否可信,如下所示 创

我使用B2C自定义策略登录用户。是否可以限制用户只能从指定的Ip地址(或范围)登录?

目前Azure AD B2C中没有此类功能。您可以提交有关的反馈

您可以尝试自己实现这一点,请参考下面的想法

您可以调用RESTAPI并将IP地址传递给它。可以使用声明解析程序解析IP地址。如果是一个IP地址,则可以在策略中执行声明转换,以检查用户IP是否匹配。否则,如果需要检查ip范围内的用户ip,则需要在RESTAPI中执行该逻辑

与此类似的方法:


您还可以创建声明转换,检查客户端IP是否可信,如下所示

  • 创建一个声明类型,如clientIP,类型为string,表示客户的IP:
  • 
    客户端IP地址
    一串
    
    以及另一种声明类型,例如isTrustedIP,其类型为布尔型,表示客户端IP是否为可信IP

    
    是受信任的IP地址
    布尔值
    
  • 创建声明转换,例如SetIsTrustedIPClaim,其类型检查客户端IP是否匹配受信任的IP(例如“216.3.128.12”或“否”),并因此将isTrustedIP声明设置为
    true
    false
  • 
    
  • 创建,以便可以从编排步骤调用声明转换:
  • 
    债权转换
    集合是可信的IP声明转换
    真的
    
  • 从编排步骤调用索赔转换技术配置文件:
  • 
    
    然后,以下业务流程步骤可以根据isTrustedIP声明是否设置为
    true
    false
    来允许或拒绝访问

    您可以创建充当块页的自断言页:

    
    块页
    api.Self断言
    假的
    假的
    
    创建要显示的错误消息

    
    
    然后从UserTravely调用它以评估
    isTrustedIP
    ,然后调用块页面:

    
    地峡
    真的
    SkipThisOrchestrationStep
    
    我知道这是一篇老文章,但有一个新功能叫做条件接收。更多详细信息可在文档中找到

    嗨,Chris,快速提问,在将最后一步(OrchestrationStep)添加到SignUpOrSignIn user Travely作为订单1之后,我们还需要执行其他步骤吗?目前,即使IP不可信,上述解决方案仍然允许访问应用程序。@jas suri msft,感谢您更新答案。通过使用上述解决方案,用户在登录后会受到限制或显示错误页面。是否可以在单击登录按钮时检查客户端IP并显示错误页面?我们已尝试验证电子邮件中自我声明的社交和自我声明的本地帐户登录下的“ClaimTransformation SetIsTrustedIPClaim”和“自我声明的BlockUser”的技术配置文件,但没有成功。嗨,道格拉斯,你有什么可行的解决方案吗?我已经尝试了Chris提供的以下解决方案,该解决方案适用于某个现有用户,但不限制对IP地址不匹配的用户的访问。你能和这个分享你的经验吗。提前谢谢。