Below is the code:
var lookupReqBuilder = PermissionService.LookupSubjectsRequest.newBuilder()
.setPermission(permissionName)
.setResource(Core.ObjectReference.newBuilder()
.setObjectType(prefixedResource(tenantPrefix, resource))
.setObjectId(resourceId)
.build());
var lookupReq = lookupReqBuilder.build();
try{
Iterator
respIterator = permissionsService.lookupSubjects(lookupReq);
return StreamSupport.stream(Spliterators.spliteratorUnknownSize(respIterator, Spliterator.ORDERED), false)
.map(PermissionService.LookupSubjectsResponse::getSubjectObjectId)
.collect(Collectors.toSet())
.stream()
.toList();
} catch (Exception e){
log.error("Error occured", e);
throw e;
}
the lookupReq object has : permission_:"doc1_view"; "resource_ : objectType_: "local/client", objectId_: "keys"; subjectObjectType_: ""
io.grpc.StatusRuntimeException: INVALID_ARGUMENT: invalid LookupSubjectsRequest.SubjectObjectType: value does not match regex pattern "^([a-z][a-z0-9_]{1,61}[a-z0-9]/)*[a-z][a-z0-9_]{1,62}[a-z0-9]$"