Oauth 2.0 在应用程序凭据中看不到客户端机密

Oauth 2.0 在应用程序凭据中看不到客户端机密,oauth-2.0,google-calendar-api,Oauth 2.0,Google Calendar Api,我有一个C语言的Windows应用程序,我想连接到谷歌日历。在教程和文档示例中,它们要求在请求服务帐户的客户端ID时生成一些客户端密码。但事实并非如此。但是,我可以看到公钥指纹,并且我安装了一个证书,该证书是在我请求客户端ID时生成的 我猜他们的文档已经过时了。有谁能给我一个指导/参考,或者解释一下这是如何工作的 感谢根据(OAuth 2.0),OAuth 2.0授权服务器的令牌端点在以下情况下需要 客户端应用程序的密码是机密的 客户端应用程序的密码为公共,但已向客户端应用程序颁发客户端凭据(c

我有一个C语言的Windows应用程序,我想连接到谷歌日历。在教程和文档示例中,它们要求在请求服务帐户的客户端ID时生成一些客户端密码。但事实并非如此。但是,我可以看到公钥指纹,并且我安装了一个证书,该证书是在我请求客户端ID时生成的

我猜他们的文档已经过时了。有谁能给我一个指导/参考,或者解释一下这是如何工作的

感谢

根据(OAuth 2.0),OAuth 2.0授权服务器的令牌端点在以下情况下需要

  • 客户端应用程序的密码是机密的
  • 客户端应用程序的密码为公共,但已向客户端应用程序颁发客户端凭据(
    client\u id
    +
    client\u secret
  • 换言之,当客户端应用程序的客户端类型是公共的且客户端应用程序未被颁发客户端凭据时,不需要客户端身份验证(因此不需要客户端机密)。

    根据定义,公共客户端不能对其客户端凭据保密。因此,一般来说,OAuth 2.0授权服务器的实现不会为公共客户端应用程序发布客户端机密。听起来谷歌的实现也表现得如此

    谷歌没有向您的应用程序发布客户端机密的原因可能是您选择的客户端配置使您的客户端应用程序成为公共客户端


    公钥指纹是另一回事。RFC6749(OAuth2.0)没有提到任何关于公钥的内容。相反,我想它可能与(特别是
    标记\端点\身份验证\方法
    )或相关。您必须阅读Google的文档才能知道公钥指纹的用途。

    上次我使用Google日历API时,Oauth服务帐户授权不需要客户端密码。如果我是对的,您只需要应用程序ID、私钥和服务帐户电子邮件地址。我在java中使用了它,但是这里有一个.NET的例子,如果它可以帮助您的话


    很好,但是API中用于.NET连接日历的函数需要它。我不能跳过它。或者,如果可以,我想看一篇文档、教程或博客文章作为指南。或者下面举个例子就好了。谢谢