Мне нужно взаимодействовать с API интеграции GitHub, но, в частности, с .NET 4.0, поэтому я не могу использовать Octokit.Подпишите токен JWT с RS256 с закрытым ключом PEM в .NET 4.0
В основном мне дается PEM
закрытый закрытый ключ rsa (не поддерживается стандартным .NET API) и должен отправить маркер jwt RS256, чтобы получить токен аутентификации для взаимодействия с API.
Следующий рубин пример код был предоставлен:
# Private key contents
private_pem = File.read(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
exp: 1.minute.from_now.to_i,
# Integration's GitHub identifier
iss: 42
}
jwt = JWT.encode(payload, private_key, "RS256")
Со следующим завиток например
curl -i -X POST \
-H "Authorization: Bearer $JWT" \
-H "Accept: application/vnd.github.machine-man-preview+json" \
https://api.github.com/installations/:installation_id/access_tokens
И следующий результат Пример:
Status: 201 Created
{
"token": "v1.1f699f1069f60xxx",
"expires_at": "2016-07-11T22:14:10Z",
"on_behalf_of": null
}