Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure functions Azure应用程序服务-使用两个B2C策略保护功能_Azure Functions_Openid Connect_Azure Ad B2c_Azure Web App Service - Fatal编程技术网

Azure functions Azure应用程序服务-使用两个B2C策略保护功能

Azure functions Azure应用程序服务-使用两个B2C策略保护功能,azure-functions,openid-connect,azure-ad-b2c,azure-web-app-service,Azure Functions,Openid Connect,Azure Ad B2c,Azure Web App Service,我们有一个功能,在Azure应用程序服务中运行,通过Easyauth为托管在Azure AD B2C租户中的用户帐户处理经过身份验证的呼叫 这些账户以前是通过B2C内置的注册和登录政策自助服务的。我们正在转向仅邀请模式,并根据Microsoft示例实施了仅B2C登录的自定义策略 我的问题是关于应用程序服务配置的。在身份验证/授权设置中,我们为我们的功能启用了应用程序服务身份验证。“请求未通过身份验证时要采取的操作”设置为“允许匿名请求(无操作)”。Azure Active Directory提供

我们有一个功能,在Azure应用程序服务中运行,通过Easyauth为托管在Azure AD B2C租户中的用户帐户处理经过身份验证的呼叫

这些账户以前是通过B2C内置的注册和登录政策自助服务的。我们正在转向仅邀请模式,并根据Microsoft示例实施了仅B2C登录的自定义策略

我的问题是关于应用程序服务配置的。在身份验证/授权设置中,我们为我们的功能启用了应用程序服务身份验证。“请求未通过身份验证时要采取的操作”设置为“允许匿名请求(无操作)”。Azure Active Directory提供程序使用我们功能的客户端ID进行配置,目标受众设置为我们的移动应用程序。颁发者URL设置为:

{OurTenantName}/v2.0/。众所周知的/openid配置?p={ourbuiltinsignupsignnpolicy}

使用此配置,来自使用内置策略登录的用户的请求可以正常工作,但使用自定义策略登录的用户将返回401个未经授权的错误。相反,如果我们将颁发者URL更改为指向新的仅登录自定义策略,则使用新策略登录的用户的请求可以正常工作,但使用内置策略登录失败,并出现401错误

我使用login.microsoft.com和{ourtenant}.b2clogin.com端点尝试了这个方法,结果相同。我还检查了JWT代币,看起来一切正常。当然,发行人是不同的,但包括签名密钥在内的其他一切看起来都是正确的


是否可以支持用户通过内置策略和自定义策略登录?非常感谢。

据我所知,我们无法在Azure函数中使用内置和自定义策略。因为内置策略和自定义策略具有不同的颁发者元数据。比如jwk。因此,我们将使用这两种策略获得不同的访问令牌签名。然而,我们只能在Azure函数中提供一个元数据端点。因此,函数只能接受您配置的策略的访问令牌

比如说 我的内置政策jwk

我的海关政策jwk

您还有其他顾虑吗?