package Ġcloud . rio . iam . auth . internal Ċ Ċ import Ġcloud . rio . iam . auth . J wk Provider Ċ import Ġcloud . rio . iam . auth . Jwt Creator Ċ import Ġcom . nim bus ds . j ose .* Ċ import Ġcom . nim bus ds . j ose . crypto . RS ASS AS ign er Ċ import Ġcom . nim bus ds . j ose . j wk . RSA Key Ċ import Ġcom . nim bus ds . jwt . JWT Claims Set Ċ Ċ internal Ġclass ĠR sa Signed Jwt Creator ( private Ġval Ġj wk Provider : ĠJ wk Provider ) Ġ: ĠJwt Creator Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( claims Set : ĠJWT Claims Set ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclaims Ġ= Ġclaims Set . to JSONObject () ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġj wk Provider . key () ĊĊĠĠĠĠĠĠĠ Ġval Ġj ws Object Ġ= ĠJ WS Object ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ WS Header . Builder ( J WS Algorithm . RS 2 5 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. key ID ( key . key ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type ( JO SE ObjectType . JWT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPayload ( claims ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( key Ġis ĠRSA Key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj ws Object . sign ( RS ASS AS ign er ( key )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Invalid ĠRSA Key Ġprovided ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġj ws Object . serialize () ĊĠĠĠ Ġ} Ċ Ċ } Ċ