小编Fud*_*own的帖子

Google OAuth 2.0 Server to Server:错误的请求

现在我已经在墙上敲了3天,试图让它发挥作用.

POST /oauth2/v3/token HTTP/1.1
Host: www.googleapis.com
Content-length: 495
Content-type: application/x-www-form-urlencoded
Authorization: Bearer ya29.cgEcY6meBrvaH6oe0nD_PtsFyMVqskiUYi7iJxapKHeEgPoIw8gMt0BJdIvRn1MfcEgzTS3_gTwI1w
grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI5MDgyOTgxNjA1NTktc2R1bGFpbWhsaGpxOTY5M2s1Z2E4c25pZjhh%0D%0ANzhlZ3BAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0%0D%0AdHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvYW5hbHl0aWNzLnJlYWRvbmx5%0D%0AIiwiYXVkIjoiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28vb2F1dGgyL3Rv%0D%0Aa2VuIiwiZXhwIjoxNDMxNTE0MDUyLCJpYXQiOjE0MzE1MTEwNTJ9.[Cert]

HTTP/1.1 400 Bad Request
Content-length: 67
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
Expires: Wed, 13 May 2015 10:08:00 GMT
Vary: Origin,X-Origin
Server: GSE
Cache-control: private, max-age=0
Date: Wed, 13 May 2015 10:08:00 GMT
X-frame-options: SAMEORIGIN
Content-type: application/json; charset=UTF-8
{
  "error_description": "Bad Request", 
  "error": "invalid_grant"
}
Run Code Online (Sandbox Code Playgroud)

所以,我在PL/SQL中创建它.Oracle 12c.我已经设法获得JWT标头和JWT Claim设置生成与google文档相同的输出.当我创建证书时,我认为是问题发生.

  1. 我需要"[----- BEGIN PRIVATE KEY -----"和----- END PRIVATE KEY ----- \n]作为SHA-256加密的一部分.我应该对"新行"做些什么吗?\n我应该用括号括起来吗?

  2. 我应该在什么时候进行URL编码?

  3. 以下示例中的代码是否足以用于加密?:http://jastraub.blogspot.co.uk/2009/07/hmacsha256-in-plsql.html

  4. 我已经附上了下面的功能,看看你是否可以发现任何问题?

谢谢你的帮助!

  FUNCTION get_JWT …
Run Code Online (Sandbox Code Playgroud)

plsql google-analytics-api google-oauth service-accounts oracle12c

6
推荐指数
1
解决办法
1076
查看次数