diff --git a/classes/TokenBuilder.php b/classes/TokenBuilder.php
index abdb369f1610fe423232f3d0a217689bf334ab98..f848112593eee27e38199afc482e056985f64508 100644
--- a/classes/TokenBuilder.php
+++ b/classes/TokenBuilder.php
@@ -117,7 +117,24 @@ class TokenBuilder {
             'aud' => $audience
         );
 
+        $conf = $this->getTokenIssuerConfig($audience);
+        if (property_exists($conf, 'aud')) {
+            $payload['aud'] = $conf->aud;
+        }
+        if (property_exists($conf, 'scope')) {
+            $payload['scope'] = $conf->scope;
+        }
+
         return JWT::encode($payload, $keyPair->privateKey, $keyPair->alg, $keyPair->keyId);
     }
 
+    private function getTokenIssuerConfig($audience) {
+        foreach ($this->locator->config->tokenIssuer->services as $service) {
+            if ($service->id === $audience) {
+                return $service;
+            }
+        }
+        throw new \Exception("Unable to find configuration for " . $audience);
+    }
+
 }