用于预验证的Google/Youtube API服务器密钥格式

用于预验证的Google/Youtube API服务器密钥格式,youtube,google-api,youtube-api,youtube-data-api,Youtube,Google Api,Youtube Api,Youtube Data Api,上下文:我正在更新我的WordPress插件,以使用插件用户必须请求和输入的服务器密钥对YouTube v3 API进行身份验证 问题:我想在使用该密钥之前对其执行某种验证,但似乎找不到GoogleAPI服务器密钥所遵循格式的文档。基于(非常有限的)数量的例子,似乎关键在于: 有39个字符长 是否区分大小写 由字母、数字和至少破折号组成 很明显,问题是:这有记录在案吗?有人能证实或扩展吗 谢谢 frank我也找不到任何已发布的密钥格式。也许是因为他们想在将来保留更改格式的自由。如果你想安全起

上下文:我正在更新我的WordPress插件,以使用插件用户必须请求和输入的服务器密钥对YouTube v3 API进行身份验证

问题:我想在使用该密钥之前对其执行某种验证,但似乎找不到GoogleAPI服务器密钥所遵循格式的文档。基于(非常有限的)数量的例子,似乎关键在于:

  • 有39个字符长
  • 是否区分大小写
  • 由字母、数字和至少破折号组成
很明显,问题是:这有记录在案吗?有人能证实或扩展吗

谢谢


frank

我也找不到任何已发布的密钥格式。也许是因为他们想在将来保留更改格式的自由。如果你想安全起见,你可能只需要在观察到的格式之上做一个健全的检查。例如获取密钥并将其传递给试图使用该密钥进行某些调用的服务器端脚本如何。然后,如果成功,则返回成功,否则返回失败,并调用此异步进行验证。似乎比尝试解码或预测散列的格式更可靠。

谢谢你的帮助。你说的“甚至是base64”是什么意思?嗯,你怎么能把一个字符串识别为base64编码的?你可以检查长度是否是4的倍数,是否有a-Z,a-Z,0-9,+,/,并以0到2个相等的符号结束。然后你也可以试着用任何语言解码它,并捕捉任何错误。Javascript必须使用base64编码的函数“atob()”和“btoa()”,谢谢,但似乎有很高的误报风险,所以我不认为我会这样做:-)破折号并不总是出现。也许是下划线?我的所有文件都至少有一个下划线,我没有看到描述哈希格式的文档。它是根据许多其他数据生成的。我所见过的最接近于验证这一点的是:然而,这是针对版本2 API密钥的。他说在使用它之前,我猜他的意思是在用它攻击谷歌服务器之前。事实上,目标是预先验证密钥。你可以使用所提到的方法,通过先测试它来预先验证。这就是为什么我提到通过异步调用来实现这一点,以便您可以在客户端处理它。