我正在尝试将MSAL用于Xamarin形式的Azure AD B2C身份验证。我遵循了本教程:Tutorial
但是这要求在意图过滤器中设置客户端ID。如果我正在构建产品,并且需要通过公共商店将其分发给一个以上的客户,该怎么办?
有什么方法可以通过编程方式设置客户端ID?请帮忙。谢谢。
您不应该以编程方式设置客户端ID。
如果您希望来自不同租户的客户使用B2C项目,则只需将Azure AD应用程序配置为多租户。
就像您共享的document提到的那样:
选择任何组织目录或身份中的帐户提供者。
然后您可以Set up sign-in for multi-tenant Azure Active Directory using custom policies in Azure Active Directory B2C。然后,客户将能够使用自己的凭据登录到您的项目。
事实上,您甚至不需要使用自定义策略为多租户Azure Active Directory配置登录。客户可以注册您的B2C租户以使用您的产品。这正是B2C的工作方式。
该特定教程的IntentFilter
中使用的客户端ID用于DataScheme
,该ID必须是唯一的,因此AAD知道在身份验证屏幕后重定向到的位置。如果需要,可以使用其他值。通常在该字段中使用反向DNS(与应用程序包一样)。
换句话说,对于该字段,clientId
不是必需的。