如何验证 Azure 凭据格式(ClientID、ClientSecret、TenantID)

问题描述 投票:0回答:2

我一直在尝试在 Microsoft 文档 (learn.microsoft.com) 中查找 ClientID、ClientSecret 和 TenantID 的格式规范,以便连接到 SharePoint REST API v1。

我只是想用 C# 中的正则表达式验证它们的格式。我希望微软至少能为文档中的内容提供一个解释,但无法找到任何相关内容。

我不需要每个代码示例的特定正则表达式,我只需要格式规范。

举个例子,类似:

CliendID : alphanumerical string of 12 characters separated by dashes -> xyz-xyz-yzx-xyz
CliendSecret : ...
TenantID : ...

在网上找到了这张票,但仍然没有结论:https://learn.microsoft.com/en-us/answers/questions/263677/validating-client-and-tenant-id-using-regular-expr

非常感谢

regex authentication sharepoint azure-active-directory sharepoint-rest-api
2个回答
0
投票

对于这里的 0.01% 的人来说,他们确实给了 F,只是善意的开玩笑,实际上并没有在这里感到不安......

对于 TenantId / ApplicationId 和证书验证,以下是我在 PowerShell 函数/脚本中所做的操作:

[Parameter(Mandatory = $true)]
[ValidateScript({ if (([guid]::TryParse($_, [ref]([guid]::NewGuid()))) -or ($_ -like '*.onmicrosoft.com')) { $true } else { throw "Invalid TenantId: $($_)" } })]
[Object]$TenantId,

[Parameter(Mandatory = $true)]
[ValidateScript({ if ([guid]::TryParse($_, [ref]([guid]::NewGuid()))) { $true } else { throw "Invalid ApplicationId: $($_)" } })]
[Object]$ApplicationId,

[Parameter(Mandatory = $true, ParameterSetName = 'Certificate')]
[X509Certificate]$Certificate,

我今天出现的原因是我正在寻找正则表达式来验证客户端秘密。 我知道这并不重要,但有时我们的 OCSD 会说管它呢,让我们把这件事弄清楚。 不想一直依赖 MSAL 库。 毕竟,我在 MSGraphPSEssentials 上生存了很长一段时间。


-2
投票

这是一件非常小众的事情,99.99% 的人都不需要做,这就是为什么它不在 learn.microsoft.com 文档中。我认为这仅在 CI/CD 管道中有用。 您可以使用正则表达式构建器,但我认为可能的情况是这是不必要的;如果您正在构建 CI/CD 管道,它应该要么成功要么彻底失败;它不应该为您提供格式错误的信息。我知道这可能不是您正在寻找的答案,但我建议您重新考虑这是否能很好地利用您的时间。

© www.soinside.com 2019 - 2024. All rights reserved.