当我尝试验证 Github 应用程序时出现 JWT 问题
JWT issue when I try to authenticate a Github app
我正在尝试验证 Github 应用程序。我使用 Ruby 提供的脚本生成了 JWT here。
然后我按照指示 运行 这个 curl 脚本:
curl -i -H "Authorization: Bearer YOUR_JWT" -H "Accept: application/vnd.github.machine-man-preview+json" https://api.github.com/app
我把我的 JWT 放在了必要的地方,但它没有用。我收到包含以下消息的 401 响应:
A JSON web token could not be decoded
谁能告诉我这里出了什么问题?
这是 Ruby 脚本:
require 'openssl'
require 'jwt' # https://rubygems.org/gems/jwt
# Private key contents
private_pem = File.read(YOUR_PATH_TO_PEM)
private_key = OpenSSL::PKey::RSA.new(private_pem)
# Generate the JWT
payload = {
# issued at time
iat: Time.now.to_i,
# JWT expiration time (10 minute maximum)
exp: Time.now.to_i + (10 * 60),
# GitHub App's identifier
iss: YOUR_ISSUE_NUMBER
}
jwt = JWT.encode(payload, private_key, "RS256")
puts jwt
当我在引号中包含 YOUR_ISSUE_NUMBER 时,它起作用了。例如。 iss: "1234"
.
我正在尝试验证 Github 应用程序。我使用 Ruby 提供的脚本生成了 JWT here。
然后我按照指示 运行 这个 curl 脚本:
curl -i -H "Authorization: Bearer YOUR_JWT" -H "Accept: application/vnd.github.machine-man-preview+json" https://api.github.com/app
我把我的 JWT 放在了必要的地方,但它没有用。我收到包含以下消息的 401 响应:
A JSON web token could not be decoded
谁能告诉我这里出了什么问题?
这是 Ruby 脚本:
require 'openssl'
require 'jwt' # https://rubygems.org/gems/jwt
# Private key contents
private_pem = File.read(YOUR_PATH_TO_PEM)
private_key = OpenSSL::PKey::RSA.new(private_pem)
# Generate the JWT
payload = {
# issued at time
iat: Time.now.to_i,
# JWT expiration time (10 minute maximum)
exp: Time.now.to_i + (10 * 60),
# GitHub App's identifier
iss: YOUR_ISSUE_NUMBER
}
jwt = JWT.encode(payload, private_key, "RS256")
puts jwt
当我在引号中包含 YOUR_ISSUE_NUMBER 时,它起作用了。例如。 iss: "1234"
.