Google API OAuth 2.0服务帐户c#(驱动器API)
我只针对一个服务帐户。
我正在寻找一个服务帐户的身份验证。
下面的例子:谷歌例子
据我所知,令牌是永久性的,不像其他身份验证类型。然而,代码中没有提到令牌。我必须存储这个令牌吗?还是每次我想要使用证书创建服务时都必须请求它?
"服务"的创建代码是否与每次我需要它时所描述的相同?还是这只是我第一次申请使用这个账户?
正如我所评论的,文章"用c#使用Google Drive API"第1部分和第2部分展示了如何存储刷新令牌并使用它以应用程序的名义进行身份验证。它还警告了服务帐户的局限性,在许多情况下,如您所说的"无用"。
这是IDataStore的另一个实现。
希望对你有帮助!div =)
Google提供了一些验证用户身份的选项。其中之一是Service Accounts
,它在验证用户的同时提供了应用程序和谷歌服务器之间更安全的通信。
通常,如果您在服务器端使用Google oAuth库,则使用共享密钥对用户进行身份验证并获得包含access_token
, toke type
, refresh_token
, expire time
的令牌。在这种情况下,用户应该给你权限。
使用Service account时,不涉及user,使用Service account进行鉴权。在这种情况下,在第一次中,您应该使用Service Account
来获取令牌并将其存储在DB中。这样,您就可以在下次发送API调用时使用它。当然,出于安全考虑,这个访问令牌会过期。在本例中,您将使用refresh_token
,它在您第一次获得令牌时返回。使用刷新令牌,您将能够获得一个新的access token
。