diff --git a/CHANGELOG.md b/CHANGELOG.md
index dfb80c0..6b612ac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
# Changelog for Common Smartgears
+## [v3.1.5-SNAPSHOT] - 2022-04-20
+
+- Added roles to ExternalService Info on request handler verification
+
## [v3.1.4] - 2022-03-29
- fixes issue [#23075]
diff --git a/pom.xml b/pom.xml
index b4ed984..2c38f6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.gcube.core
common-smartgears
- 3.1.4
+ 3.1.5-SNAPSHOT
SmartGears
diff --git a/src/main/java/org/gcube/smartgears/handlers/application/request/RequestContextRetriever.java b/src/main/java/org/gcube/smartgears/handlers/application/request/RequestContextRetriever.java
index 6a04c78..e5b984e 100644
--- a/src/main/java/org/gcube/smartgears/handlers/application/request/RequestContextRetriever.java
+++ b/src/main/java/org/gcube/smartgears/handlers/application/request/RequestContextRetriever.java
@@ -146,8 +146,8 @@ public class RequestContextRetriever extends RequestHandler {
if (!jwt.isExternalService())
clientInfo = new UserInfo(jwt.getUsername(), jwt.getRoles(), jwt.getEmail(), jwt.getFirstName(), jwt.getLastName());
else
- clientInfo = new ExternalServiceInfo(jwt.getUsername(), "unknown");
-
+ clientInfo = new ExternalServiceInfo(jwt.getUsername(), "unknown", jwt.getRoles());
+
log.info("caller type is {}",clientInfo.getType());
AuthorizationProvider.instance.set(new Caller(clientInfo, "token"));