验证Google凭据

DaI*_*mTo 7 c# google-api google-oauth google-oauth2 google-developers-console

Google Developer Console上创建凭据时您可以根据创建的类型创建多种不同类型的凭据,您可以使用以下任何一种类型

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

它们都有不同的格式. 我删除了我发布的内容.

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

有没有办法在我的应用程序中验证这些.他们是什么类型的钥匙?

我正在使用C#,但有关哪种键有任何帮助的信息.

我可能会为客户端ID和服务帐户电子邮件提供某种RegEx检查.但必须有一种方法可以更好地验证它们.

更新:

Google允许您验证访问令牌,为什么无法验证凭据TokenInfo验证

不工作.

Convert.FromBase64String("AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk");
Run Code Online (Sandbox Code Playgroud)

Sco*_*ain 6

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

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