我正在开发一个必须访问office365 API的ASP.NET MVC应用程序。我使用说明here来获取仅限应用访问令牌。
现在,在运行应用程序之后,我获得了AAD同意流程以获取令牌ID,因此我可以获得租户ID。需要租户ID来生成有效的访问令牌。
我现在的问题是:可以安全地将tenantID存储在数据库中并在每次调用api时使用它来获取访问令牌吗?或者租户ID是否会不时变化?它在我上次尝试时使用了相同的tenantID,因为我在收到tenantID之后才更改我的应用程序而不是访问azure AD而只是进行一些API调用。
我的应用程序是否可以始终使用相同的tenantId来接收access_token?
编辑:更改"令牌"由于混乱而导致租户失业。
答案 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。
回答以下问题:
是的,您可以安全地将租户ID存储在数据库中,只要您只使用相同的Azure AD
不,上面已经给出了解释
是。更准确地说,您的应用程序需要将其客户端凭据提供给OAuth2令牌发布端点,并且作为回报,获取一个代表应用程序本身的访问令牌,而无需任何用户信息。
希望我的答案清晰易懂,并帮助您解决问题。