当您在 Google Developer console 上创建凭据时您可以创建多种不同类型的凭据,具体取决于创建的类型,您可以拥有以下任何一种
- 公共(public) API key
- 客户编号
- 客户 secret
- 服务帐户电子邮件地址
它们都有不同的格式。 我已经删除了我发布的内容。
- 公共(public) API key :
AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk
- 客户端 ID:
1046123799103-d0vpdthl4ms0soutcrpe036ckqn7rfpn.apps.googleusercontent.com
- 客户端密码:
G5QtTuBDp6ejKraR0XodNwaW
- 服务帐户电子邮件地址:
1046123799103-6v9cj8jbub068jgmss54m9gkuk4q2qu8@developer.gserviceaccount.com
有什么方法可以在我的应用程序中验证这些。它们是什么类型的键?
我正在使用 C#,但任何有关 key 类型的信息都会有所帮助。
我可能会想出某种 RegEx 检查客户端 ID 和服务帐户电子邮件。但必须有一种方法可以更好地验证它们。
更新:
Google 允许您验证访问 token ,为什么无法验证凭据 TokenInfo validation
不工作。
Convert.FromBase64String("AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk");
最佳答案
验证凭据是否有效的唯一方法是尝试使用它们并查看服务器是否接受它们。
没有可以检查的校验和或算法,Google 没有为这些 token 指定格式,因此他们可以随时更改格式。您只能将它们视为不透明的 blob,然后将它们传递出去并查看服务器的响应。
关于c# - 验证 Google 凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33889598/