【发布时间】:2021-12-22 03:42:40
【问题描述】:
问题:我目前正在努力为客户端提供一个 REST Api(在这种情况下,客户端不是订购文章的普通最终用户,而是与我的系统通信的客户端的 Web Api)。为了在我的系统中订购不同的产品,每个客户可能分别在每个国家/地区拥有多个帐户。身份验证是通过将客户端的 WebApi 应用程序验证到我的系统(机器对机器)来完成的。所以看起来这应该使用基于文章https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-flows-app-scenarios#scenarios-and-supported-authentication-flows 的 OAuth2 Client Credentials Flow 来完成,但我对每个国家/地区的客户帐户问题分别表示怀疑。
问题:这应该通过为每个国家/地区的每个客户帐户分别创建一个 ClientId 和 ClientSecret 来解决,或者,但是,应该创建一个客户帐户,而国家应该由客户在每个请求中发送到 Api 或之前将国家/地区添加为访问令牌的范围或声明。 此外,我不确定在这种情况下 Client Credentials Flow 是否是一个不错的选择,因此我将非常感谢任何建议。
【问题讨论】:
-
一旦您不想将一个客户端与另一个客户端的活动关联起来,他们应该有自己的 client_id/secret 对。
标签: oauth-2.0 oauth azure-ad-b2c