簡體   English   中英

Google服務帳戶身份驗證的簽名字節

[英]signature bytes for Google service accounts authentication

如何提出Google服務帳戶API REST的身份驗證請求?

身份驗證文檔: https : //developers.google.com/identity/protocols/OAuth2ServiceAccount#authorizing請求

我不確定簽名的值應該是什么?

{"alg":"RS256","typ":"JWT"}.
{
"iss":"761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com",
"scope":"https://www.googleapis.com/auth/prediction",
"aud":"https://www.googleapis.com/oauth2/v4/token",
"exp":1328554385,
"iat":1328550785
}.
[signature bytes]

文檔只是說“簽名字節”。 我在哪里可以得到這個“簽名”?

標頭:

{"alg":"RS256","typ":"JWT"}

要求:

{
  "iss":"761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com",
  "scope":"https://www.googleapis.com/auth/devstorage.readonly",
  "aud":"https://www.googleapis.com/oauth2/v4/token",
  "exp":1328554385,
  "iat":1328550785
}

簽名:

{Base64url encoded header}.{Base64url encoded claim set}

簽名似乎只是與聲明結合在一起的標頭,每個標頭分別以base64編碼。

如果從示例中進行轉儲,則簽名不是JWT標頭和聲明集的組合。

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.
eyJpc3MiOiI3NjEzMjY3OTgwNjktcjVtbGpsbG4xcmQ0bHJiaGc3NWVmZ2lncDM2bTc4ajVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvcHJlZGljdGlvbiIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTMyODU1NDM4NSwiaWF0IjoxMzI4NTUwNzg1fQ.
ixOUGehweEVX_UKXv5BbbwVEdcz6AYS-6uQV6fGorGKrHf3LIJnyREw9evE-gs2bmMaQI5_UbabvI4k-mQE4kBqtmSpTzxYBL1TCd7Kv5nTZoUC1CmwmWCFqT9RE6D7XSgPUh_jF1qskLa2w0rxMSjwruNKbysgRNctZPln7cqQ

您可以使用Google Oauth 2.0端點創建Web服務器應用程序,該應用程序使用對Google API的Oauth 2.0授權訪問。 Oauth 2.0服務器將用戶與一次性使用授權代碼一起引導回您的應用程序。 您的應用程序將此授權碼交換為訪問令牌。

要在RESTful客戶端服務器中發出身份驗證請求,您必須在HTTP標頭中放置一個令牌,以便對請求進行身份驗證。 這就是OAuth 2.0的功能。 參見RFC 6749

有關基於JSON和REST的客戶端服務器中的RESTful身份驗證的一些詳細信息,請參閱本文

令牌生成后,實際的API調用不需要簽名。 OAuth 2.0只有一個安全令牌,不需要簽名。 檢查討論簽名的此堆棧溢出票證: OAuth 2與OAuth 1有何不同?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM