【问题标题】:Validating Google credentials验证 Google 凭据
【发布时间】:2016-02-26 15:42:38
【问题描述】:

当您在 Google Developer console 上创建凭据时,您可以创建几种不同类型的凭据,具体取决于创建的类型,您可以拥有以下任何一种

  • 公共 API 密钥
  • 客户 ID
  • 客户端密码
  • 服务帐号电子邮件地址

它们都有不同的格式。 我已删除我要发布的内容。

  • 公共 API 密钥:AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk
  • 客户端 ID:1046123799103-d0vpdthl4ms0soutcrpe036ckqn7rfpn.apps.googleusercontent.com
  • 客户端密码:G5QtTuBDp6ejKraR0XodNwaW
  • 服务帐号邮箱:1046123799103-6v9cj8jbub068jgmss54m9gkuk4q2qu8@developer.gserviceaccount.com

有什么方法可以在我的应用程序中验证这些。它们是什么类型的钥匙?

我正在使用 C#,但任何有关键类型的信息都会有所帮助。

我可能会想出某种正则表达式检查客户 ID 和服务帐户电子邮件。但是必须有一种方法可以更好地验证它们。

更新:

Google 让您验证访问令牌为什么无法验证凭据 TokenInfo validation

不工作。

Convert.FromBase64String("AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk");

【问题讨论】:

  • 它们都只是“令牌”,它们不是编码字节 [] 的。您只需要将它们视为文本块
  • 是的,但我正在寻找一种方法来验证它们是否有效,如果有人发送的 XXX 不是有效的客户秘密

标签: c# oauth google-api google-oauth google-developers-console


【解决方案1】:

验证凭据是否有效的唯一方法是尝试使用它们并查看服务器是否接受它们。

没有可以检查的校验和或算法,Google 没有为这些令牌指定格式,因此他们可以随时更改它。您只能将它们视为不透明的 blob,然后将它们传递出去,看看服务器会响应什么。

【讨论】:

  • 感谢您的回答,看来我只需要测试传递的字符串是否为 null 和希望。如果错误无效,我也会在代码中添加一个 catch 来捕获错误。
猜你喜欢
  • 2016-12-15
  • 1970-01-01
  • 2018-02-20
  • 2013-02-15
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 2013-04-11
相关资源
最近更新 更多