使用刷新令牌进行Azure Active Directory B2C定价澄清

时间:2017-06-12 01:30:51

标签: azure authentication msal azure-ad-b2c

我对Azure AD B2C定义的here的定价结构感到困惑。 问题似乎来自这个描述:

  

身份验证:响应登录请求而发出的令牌   由用户发起,或由代表a的应用程序发起的   用户(例如令牌刷新,刷新间隔可配置)。

在我的租户/应用程序的Azure AD B2C设置中,我定义了一个SignInUp策略,然后选择了访问/ ID令牌的生命周期(最多24小时),以及刷新令牌(最多90天)和然后刷新滑动窗口边界(最多365天或没有到期)。 这与我根据身份验证定价收取的身份验证有何关系?

例如,如果我将我的访问/ ID令牌设置为24小时并将我的刷新令牌设置为90天并且我将MSAL库用于AcquireTokenSilentlyAsync并且我有一个用户每天进入该应用程序,我是否会收取30该用户每月的身份验证,或者只是1次身份验证,因为刷新令牌尚未过期?

这在成本方面存在巨大差异,我是否可以将B2C用于我的应用验证需求。例如,每天有100,000名用户,如果我每月只收取1次认证费用,如果我的刷新令牌设置为90天,最终每月平均花费约50美元,而如果每24小时收取一次认证费用,将收取每月6300美元的费用!对此有任何澄清表示赞赏。

2 个答案:

答案 0 :(得分:4)

我收到了Microsoft Azure支持的回答,如下所示:

  

我已经审核了您的案例,我了解您对B2C定价有疑问。我想通知您,令牌是为了响应用户发起的登录请求而发出的,或者是由代表用户的应用程序发起的。请查看以下提到的价格详情:   https://azure.microsoft.com/en-us/pricing/calculator/?service=active-directory-b2c   因此,如果用户或应用程序每天登录一次,那么每月将为该用户收取30次身份验证,而且,前5万用户或应用程序登录都是免费的

我发了一封跟进澄清说明:

  

所以,只是为了澄清,即使它是刷新令牌   使用(如果设置那么好90天),仍然收费   作为'身份验证'?这使得B2C非常昂贵   皇家马德里的例子情况并非如此,因为他们会如此   每年花费10,000,000美元或更多只是为了进行身份验证。   微软永远不会让独立开发者能够使用它,并且   它也将超出大多数中型企业的价格范围。   它与Auth0竞争激烈,每月为5万用户提供服务   和UNLIMITED认证,仅需850美元。

并收到以下回复:

  

您的建议对我们进行改进非常重要   我们的产品和服务。我建议您打开反馈   链接并向我们提供您宝贵的反馈。所有的反馈你   微软将对这些论坛中的份额进行监控和审核   负责构建Windows Azure的工程团队。

https://feedback.azure.com/forums/223579-azure-portal/suggestions/18796606-lower-the-price-of-ad-b2c

https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/10986063-reduce-pricing-for-azure-ad-b2c

https://feedback.azure.com/forums/34192--general-feedback/suggestions/15434943-azure-active-directory-b2c-don-t-charge-for-token

如果你看一下这些反馈,他们一年内没有得到很多选票或行动,所以,如果你想让B2C成为独立开发者或中小型公司的可行选择,那就去投票吧!

答案 1 :(得分:3)

让我从定价网站的片段中添加一些说明,然后进一步解释。 修: 发出身份验证 ID令牌或访问令牌,以响应用户发起的登录请求,或者由代表用户的应用程序发起获取新的id令牌或新的访问令牌(例如,当应用程序使用刷新令牌时,刷新间隔可配置)。

ID令牌的最长生命周期为24小时。假设您将ID TOKEN生命周期设置为24小时,那么每天使用您的应用程序30天的用户将至少进行30次身份验证。

如果您将ID令牌生命周期设置为1小时,并且所述用户经常使用您的应用12小时,那么当天最多可以添加12个令牌。

相反,刷新令牌是“免费的”。它为ID TOKEN交换刷新令牌,导致身份验证费用。