当我尝试验证 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".