Azure AAD应用程序ID在整个Azure中是否唯一?

时间:2019-06-11 20:19:35

标签: azure azure-active-directory guid

我知道AAD应用程序ID在一个目录(租户)中是唯一的。它是一个向导,显然在整个世界中应该是唯一的,但冲突可能是唯一的。问题是:Azure在生成AAD应用程序ID时是否可以验证其在所有其他目录中是否唯一?

1 个答案:

答案 0 :(得分:3)

如果您查看Official document的应用程序属性,您会知道application Id

  

分配给应用程序的应用程序的唯一标识符   Azure AD应用程序。不可为空。只读

Azure应用程序ID的唯一生成方式:

应用程序ID(GUID)像这样分解:

  1. 60位时间戳,
  2. 48位计算机标识符,
  3. 14位uniquifier,和
  4. 六个位是固定的

总共128位。 该算法的目标是使用时间和位置的组合(相对论极客的“时空坐标”)作为唯一性关键字。

但是,例如,有可能从同一台计算机上快速连续地生成两个GUID,它们之间的时间间隔太近,因此时间戳记会相同。这就是唯一化器的出现。

当时间似乎停滞不前(如果连续两次发出GUID请求)或倒退(如果系统时钟设置为比原来时间早的新时间),则uniquifier递增,以便“第二次是五点钟”生成的GUID与“第一次是五点钟”生成的GUID不会冲突。

一旦您了解了它的全部工作原理,很显然您就不能丢弃GUID的一部分,因为所有部分(固定部分除外)都可以一起工作以建立唯一性。这就是所有工作的方式。

  

注意:即使有时也考虑使用GUID的网络地址。如果您还有任何疑问,请随时分享。谢谢,祝您编程愉快!