You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 30, 2023. It is now read-only.
I am following the example of using GitHub API's in a GitHub app. This page links to another page showing how to setup the development environment to do this.
I followed the instructions on that page, with one difference, for testing, I kept the contents of the pem file in the code 64-encoded. The code then proceeds to decode that string to get the actual content of the pem file, and use that to construct the PRIVATE_KEY. So, it looks like this
When I install the GitHub app in a new organization, I the following error: POST https://api.github.com/app/installations/27776345/access_tokens: 401 - A JSON web token could not be decoded // See: https://docs.github.com/rest (Octokit::Unauthorized).
This error occurs when the code tries to get the token of a specific installation @installation_token = @app_client.create_app_installation_access_token(@installation_id)[:token]
In testing the code, in a Ruby console, I debugged the ran the template_server.rb file and placed a binding.pry right before the error is thrown.
I did the following:
# This is taken from https://github.com/github-developer/github-app-template/blob/master/template_server.rb#L94
payload = {
# The time that this JWT was issued, _i.e._ now.
iat: Time.now.to_i,
# JWT expiration time (10 minute maximum)
exp: Time.now.to_i + (10 * 60),
# Your GitHub App's identifier number
iss: APP_IDENTIFIER
}
# Calculate a jwt
jwt = JWT.encode(payload, PRIVATE_KEY, 'RS256')
# display the installation id
@installation_id
Then I ran the following cURL command in a command line.
I received a valid response that did include a token. So, it doesn't seem that the problem is in the code itself, but that for some reason the Octokit::Client is not doing the right thing in calling the intended API.
The text was updated successfully, but these errors were encountered:
Expected Behavior
I am following the example of using GitHub API's in a GitHub app. This page links to another page showing how to setup the development environment to do this.
I followed the instructions on that page, with one difference, for testing, I kept the contents of the pem file in the code 64-encoded. The code then proceeds to decode that string to get the actual content of the pem file, and use that to construct the
PRIVATE_KEY
. So, it looks like thisActual Behavior
When I install the GitHub app in a new organization, I the following error:
POST https://api.github.com/app/installations/27776345/access_tokens: 401 - A JSON web token could not be decoded // See: https://docs.github.com/rest (Octokit::Unauthorized)
.This error occurs when the code tries to get the token of a specific installation
@installation_token = @app_client.create_app_installation_access_token(@installation_id)[:token]
Steps to Reproduce
Follow instructions in https://docs.github.com/en/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.
Context
In testing the code, in a Ruby console, I debugged the ran the template_server.rb file and placed a
binding.pry
right before the error is thrown.I did the following:
Then I ran the following cURL command in a command line.
curl -i -X POST
-H "Authorization: Bearer "
-H "Accept: application/vnd.github+json"
https://api.github.com/app/installations/<@installation_id>/access_tokens
I received a valid response that did include a token. So, it doesn't seem that the problem is in the code itself, but that for some reason the
Octokit::Client
is not doing the right thing in calling the intended API.The text was updated successfully, but these errors were encountered: