0
現在、Googleにオブジェクトを送信するように設定しようとしています(S2AP)。google-auth-library-rubyでエンコードJWT 0.9+
jwt = {
"iss"=> SERVICE_ACCOUNT_EMAIL_ADDRESS,
"aud" => "google",
"typ" => "savetoandroidpay",
"iat"=> Time.now.utc.to_i,
"payload" => {
"loyaltyObjects" => [], #Loyalty objects
"offerObjects" => [], #Offer objects
"loyaltyClasses" => [], #Loyalty classes
"offerClasses" => [] #Offer classes
},
"origins"=> ['http://baconrista.com', 'https://baconrista.com']
}
private_key = Google::APIClient::PKCS12.load_key(SERVICE_ACCOUNT_PRIVATE_KEY, 'notasecret')
jwtEncoded = JWT.encode(jwt, private_key, "RS256")
しかし、0.8はもはや標準ではない、とGoogle::APIClient
はもはやサポートされているので、私は計算から提供JSONファイルとそのJWTに署名する方法を見つけることはできません。 GoogleはthisのようなJWTsに署名することを推奨していますエンジンサービスアカウント。
私は現在、OAuth2認証を使用してgoogles APIを使用してアクセストークンを生成するための設定はすべて行っていますが、これらのJWTをエンコードする方法についてはわかりません。参考までに、これはあなたが完全に終了していない新しいサービスを(使用してJWTに署名する能力の欠如を回避するにはルビーgem
compute = Google::Apis::ComputeV1::ComputeService.new
File.open(CONFIG[:GOOGLE_APPLICATION_CREDENTIALS], "r") do |json_io|
compute.authorization = Google::Auth::DefaultCredentials.make_creds(scope: 'https://www.googleapis.com/auth/wallet_object.issuer', json_key_io: json_io)
end
TOKEN = compute.authorization.fetch_access_token!