Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/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
Xamarin表单:Azure AD B2C使用MSAL:通过代码设置客户端Id_Azure_Xamarin_Xamarin.forms_Azure Ad B2c_Msal - Fatal编程技术网

Xamarin表单:Azure AD B2C使用MSAL:通过代码设置客户端Id

Xamarin表单:Azure AD B2C使用MSAL:通过代码设置客户端Id,azure,xamarin,xamarin.forms,azure-ad-b2c,msal,Azure,Xamarin,Xamarin.forms,Azure Ad B2c,Msal,我正在尝试在Xamarin表单中使用MSAL进行Azure AD B2C身份验证。 我遵循了本教程: 但这要求在意图过滤器中设置客户端id。如果我正在构建一个产品,并且需要通过公共商店将其分发给多个客户,该怎么办 有什么方法可以通过编程方式设置客户端ID吗? 请帮忙。 谢谢。您不应该以编程方式设置客户端ID 如果您希望来自不同租户的客户使用您的B2C项目,您只需将Azure AD应用程序配置为多租户 就像你分享的提到: 选择任何组织目录或任何标识中的帐户 提供者 然后你就可以了。然后,客户将能

我正在尝试在Xamarin表单中使用MSAL进行Azure AD B2C身份验证。 我遵循了本教程:

但这要求在意图过滤器中设置客户端id。如果我正在构建一个产品,并且需要通过公共商店将其分发给多个客户,该怎么办

有什么方法可以通过编程方式设置客户端ID吗? 请帮忙。
谢谢。

您不应该以编程方式设置客户端ID

如果您希望来自不同租户的客户使用您的B2C项目,您只需将Azure AD应用程序配置为多租户

就像你分享的提到:

选择任何组织目录或任何标识中的帐户 提供者

然后你就可以了。然后,客户将能够使用自己的凭据登录到您的项目


事实上,您甚至不需要使用自定义策略为多租户Azure Active Directory配置登录。客户可以向您的B2C租户注册以使用您的产品。这正是B2C的工作方式。

在该特定教程中的
IntentFilter
中使用的客户端id用于
DataScheme
,它需要是唯一的,因此AAD知道在身份验证屏幕后重定向到哪里。如果需要,可以使用不同的值。该字段通常使用反向DNS(与应用程序包一样)


换句话说,
clientId
对于该字段不是强制性的。

谢谢您的回复。我的场景是,每个客户都有自己的B2C设置,但应用程序是单一的,可以从应用程序商店或游戏商店下载。在这种情况下,应用程序中的硬编码客户端Id会将我们限制为一个客户。有什么建议吗?