团队 ID 或 AAD 对象 ID:使用哪个标识符更好?

Teams ID or AAD Object ID: Which is a better identifier to use?

我有一个与 Teams 集成的机器人服务。所有交互都将通过 Teams 进行。他们对 Teams 的访问权限作为他们对我们系统的身份验证。

问题是我应该使用 Teams ID 还是 Azure Active Directory (AAD) 对象 ID 作为该用户的唯一标识符。每个的 pros/cons 是多少?我应该考虑哪些其他因素?它们中的任何一个更有可能改变吗?我没有考虑但应该考虑的是什么?

简单来说,只要能唯一标识用户,任何一个都可以,而且两者都是“Id”,因此他们会这样做。但是,它纯粹是从机器人的角度来看的,所以它甚至不在团队范围内。例如,如果您稍后向您的应用程序添加一个选项卡,您将只会获得用户的 AAD Id,并且假设您永远不想做任何更广泛的事情。所以我强烈建议,考虑到选项,而不是使用 AAD Id。

Azure Active Directory (AAD) 对象 ID 是唯一标识用户的最佳方式。

此外,多个团队可以包含相同的用户,因此如果您需要在不同团队中唯一标识用户的要求,您可以使用(团队 ID + AAD 对象 ID)的自定义组合。