asp.net-mvc - 租户 ID 在客户端凭据授予流程中是否始终保持不变?

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

我正在开发一个 ASP.NET MVC 应用程序,它必须访问 Office365 API。我使用了描述here为了获得仅应用程序的访问 token 。

现在,运行应用程序后,我进入 AAD 同意流程以获取 token ID,这样我就可以获得租户 ID。需要租户 ID 才能生成有效的访问 token 。

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

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

编辑:由于困惑,将“ token ”更改为tenantId。

最佳答案

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

How to get an Azure Active Directory tenant

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

回答以下问题:

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

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

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

希望我的回答对您来说清晰易懂,并帮助您解决问题。

关于asp.net-mvc - 租户 ID 在客户端凭据授予流程中是否始终保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34660046/

相关文章:

azure - 由于未设置连接字符串,无法运行 azure 函数并出现错误

c# - 从 Azure Active Directory 访问具有委派许可类型的用户

java - 使用 Azure java sdk 更新用户和组属性

asp.net-mvc - 带有 "File Extensions"的 ASP.NET MVC 路由

javascript - 在超链接中调用 Javascript 方法

azure - 错误: Cannot bind parameter 'executionContext' to type ExecutionContext

azure - 在VPN外部使用Azure自动登录

c# - 在 Umbraco 站点上处理 MVC 部分 View 中的全局设置节点

asp.net-mvc - 当我尝试在asp.net mvc中导入存储过程时,选定的存储过程不返回任何列

git - 如何在 Azure CI 管道上进行 git diff