代码之家  ›  专栏  ›  技术社区  ›  FPMC93

租户ID在客户端凭证授予流中是否始终保持不变?

  •  1
  • FPMC93  · 技术社区  · 9 年前

    我正在开发一个ASP。NET MVC应用程序,它必须访问office365 API。我使用了描述 here 以便获得仅应用访问令牌。

    现在,在运行应用程序之后,我得到了AAD同意流,以便获得令牌id,因此我可以获得租户id。租户id是生成有效访问令牌所必需的。

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

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

    edit:由于混淆,将“token”更改为tenantId。

    2 回复  |  直到 9 年前
        1
  •  0
  •   juvchan    9 年前

    在Azure Active Directory(Azure AD)中,租户代表组织。它是组织在注册Microsoft云服务(如Azure、Microsoft Intune或Office 365)时接收并拥有的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令牌发布端点提供其客户端凭据,并作为回报获得一个表示应用程序本身的访问令牌,而不需要任何用户信息。

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

        2
  •  0
  •   Michael B    9 年前

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

    当你说你可以一直使用相同的“代币”时,你指的是什么代币?