I am using a shell script https://gist.github.com/floudet/5f5870d0551fcdb663969df6fcf7bfce to attempt to create a JWT Bearer Token. I have slightly modified the script to use "box_sub_type": "enterprise" rather than "user". I have uploaded the public key part of a key pair and I have double and triple checked that I am specifying the correct CLIENT_ID, CLIENT_SECRET, KEY_ID, ENTERPRISE_ID(USER_ID) and private-key file. The JWT the script constructs looks OK to me:
[Header]
{ "alg": "RS256", "typ": "JWT", "kid": "q...KEY_ID...k" }
[Claim]
{ "iss": "v...CLIENT_ID...2", "sub": "4...ENTERPRISE_ID...8", "box_sub_type": "enterprise", "aud": "https://api.box.com/oauth2/token", "jti": "AHcq1oZ7E1jwqOuv", "exp": ***number removed for privacy***5 }0000: POST /oauth2/token HTTP/1.1
001d: User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7
005d: NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
008f: Host: api.box.com
00a2: Accept: */*
00af: Content-Length: 789
00c4: Content-Type: application/x-www-form-urlencoded
00f5:
=> Send data, 789 bytes (0x315)
0000: grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&client_id
0040: =v...CLIENT_ID...2&client_secret=H...CLIENT_SECRET
0080: ...T&assertion=eyJraWQiOiJxOWxpMTg3ayIsInR5cCI6IkpXV
00c0: CIsImFsZyI6IlJTMjU2In0=.eyJleHAiOjE1MTk3MjQyMzUsImp0aSI6IkFIY3Ex
0100: b1o3RTFqd3FPdXYiLCJhdWQiOiJodHRwczovL2FwaS5ib3guY29tL29hdXRoMi90
0140: b2tlbiIsImJveF9zdWJfdHlwZSI6ImVudGVycHJpc2UiLCJzdWIiOiI0MTM0NDEy
0180: OCIsImlzcyI6InY5dnBobXQ0enQweHR3bWY0dmt3cHAwYm4yMXIzY28yIn0=.W63
01c0: DeBarurSe8RZSKwQh0tBLuOaysBkIfLPkp4wK4mD2fUIR7Oc5SVW3Gv0NuRKuiCk
0200: 2Ec0q9mBnrHJx7fSJlcCeZUdOA7arurec712N5CdZoxSJFEoCkMhTwUvm74gIWM/
0240: a0axN960ptRLWcN18puMKDvXd8b5YZxdy1VXQDLHbN4Nzj8JNDEaF8It2UfA9UQV
0280: bydDF/4GzHOdRr/NQGGDddz2/gi67K6sO1SZ5gAgdJ7Gu+LJ5A4p3J6yRg8Fqudj
02c0: 6YhmlXQUcdoeFJ5CC2aqR6YFOaEynwbLRwMhBe5RKawkxQWUk3Odf0ZnOqVA3kan
0300: emvKn2TukFhPF3jIfwg==
but I keep getting this error:
{"error":"invalid_grant","error_description":"Signature verification error. The public key identified by \"kid\" must correspond to the private key used for signing."}I've only ever created/uploaded one key.
Any ideas what I could be doing wrong?
