我已经创建了 google 服务帐户并拥有包含等的 JSONprivate_key
文件client_email
。
我已经按照以下步骤
标头计算:
Header = jsx:encode(#{<<"alg">> => <<"RS256">>,<<"typ">> => <<"JWT">>}).
Base64Header = base64:encode(Header).
理赔计算:
Claims = jsx:encode(#{
<<"iss">> => <<"google-123@some-test.iam.gserviceaccount.com">>,
<<"scope">> => <<"https://www.googleapis.com/auth/cloud-platform">>,
<<"aud">> => <<"https://www.googleapis.com/oauth2/v4/token">>,
<<"exp">> => 1471629262,
<<"iat">> => 1471627282
}).
Base64Claims = base64:encode(Claims).
Input = {Base64Header}.{Base64Claim}
并且,我们如何Input
使用 SHA256withRSA(也称为带有 SHA-256 哈希函数的 RSASSA-PKCS1-V1_5-SIGN)的 UTF-8 表示private_key
来计算 JWT 签名?