租户ID是否始终在客户端凭据授权流程中保持不变?

时间:2016-01-07 16:17:01

标签: asp.net-mvc azure azure-active-directory office365api

我正在开发一个必须访问office365 API的ASP.NET MVC应用程序。我使用说明here来获取仅限应用访问令牌。

现在,在运行应用程序之后,我获得了AAD同意流程以获取令牌ID,因此我可以获得租户ID。需要租户ID来生成有效的访问令牌。

我现在的问题是:可以安全地将tenantID存储在数据库中并在每次调用api时使用它来获取访问令牌吗?或者租户ID是否会不时变化?它在我上次尝试时使用了相同的tenantID,因为我在收到tenantID之后才更改我的应用程序而不是访问azure AD而只是进行一些API调用。

我的应用程序是否可以始终使用相同的tenantId来接收access_token?

编辑:更改"令牌"由于混乱而导致租户失业。

2 个答案:

答案 0 :(得分:0)

tenantID是附加到订阅的Azure Active Directory的guid。只要您不更改关联目录,则tenantID不会更改。

当你说你总是可以使用相同的'令牌'时你指的是什么标记?

答案 1 :(得分:0)

在Azure Active Directory(Azure AD)中,租户代表组织。它是Azure AD服务的专用实例,组织在注册Microsoft云服务(如Azure,Microsoft Intune或Office 365)时接收并拥有该实例。每个Azure AD租户都与其他Azure AD租户截然不同。

How to get an Azure Active Directory tenant

因此,您现有的Azure AD的租户ID不会更改。 只有在创建新的Azure AD时,您才能获得新AD的不同租户ID。

回答以下问题:

  1. 是的,您可以安全地将租户ID存储在数据库中,只要您只使用相同的Azure AD

  2. 不,上面已经给出了解释

  3. 是。更准确地说,您的应用程序需要将其客户端凭据提供给OAuth2令牌发布端点,并且作为回报,获取一个代表应用程序本身的访问令牌,而无需任何用户信息。

  4. 希望我的答案清晰易懂,并帮助您解决问题。