}
}
-int STSService::storeARN(const DoutPrefixProvider *dpp, string& arn, optional_yield y)
-{
- int ret = 0;
- RGWUserInfo info;
- if (ret = rgw_get_user_info_by_uid(dpp, store->ctl()->user, user_id, info, y); ret < 0) {
- return -ERR_NO_SUCH_ENTITY;
- }
-
- info.assumed_role_arn = arn;
-
- RGWObjVersionTracker objv_tracker;
- if (ret = rgw_store_user_info(dpp, store->ctl()->user, info, &info, &objv_tracker, real_time(),
- false, y); ret < 0) {
- return -ERR_INTERNAL_ERROR;
- }
- return ret;
-}
-
AssumeRoleWithWebIdentityResponse STSService::assumeRoleWithWebIdentity(AssumeRoleWithWebIdentityRequest& req)
{
AssumeRoleWithWebIdentityResponse response;
return response;
}
- //Save ARN with the user
- string arn = response.user.getARN();
- response.retCode = storeARN(dpp, arn, y);
- if (response.retCode < 0) {
- return response;
- }
-
response.retCode = 0;
return response;
}
rgw_user user_id;
RGWRole role;
rgw::auth::Identity* identity;
- int storeARN(const DoutPrefixProvider *dpp, string& arn, optional_yield y);
public:
STSService() = default;
STSService(CephContext* cct, rgw::sal::RGWRadosStore *store, rgw_user user_id,