<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">It's a tradeoff consideration: on the
one hand, you can pack more information into the token itself and
have it be fairly self-contained (apart from revocation status),
but then you have a big token and your protected resources need to
understand this structure to get the information out. Also, unless
you're also encrypting things, you're leaking information to the
clients that carry the tokens. On the other hand, you can pack the
bare information into the token (like an identifier) and have
everything available from a network call (introspection). This
lets you have very small tokens (given the limits of entropy for
security sake) but it requires more network access from the
protected resources. You can of course cache things, and most
protected resources are going to have pretty fast access to their
authorization server in most deployments. <br>
<br>
But in the end, it's a balance and a trade-off. With MITREid
Connect, we decided to allow for both, as you've discovered. We
decided to not put scopes into the token itself in order to keep
the size down and to keep information from leaking to the client.
For the same reason, we don't put the user id in it either. That
logic is all defined in a pluggable service:<br>
<br>
<a class="moz-txt-link-freetext" href="https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/blob/f974f9513854a72adb8bc1d38cd0dfd13fc02965/openid-connect-server/src/main/java/org/mitre/openid/connect/token/ConnectTokenEnhancer.java">https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/blob/f974f9513854a72adb8bc1d38cd0dfd13fc02965/openid-connect-server/src/main/java/org/mitre/openid/connect/token/ConnectTokenEnhancer.java</a><br>
<br>
Which means that it can be overridden and replaced with local
functionality. It might make sense to have this be a configurable
option: which claims to include inside the access token. If that
would work, please file an issue on GitHub to track it, and we
would welcome a pull request to add that functionality.<br>
<br>
-- Justin<br>
<br>
On 1/4/2015 4:47 PM, Yannick Béot wrote:<br>
</div>
<blockquote
cite="mid:CAMer1X6jneSAfjH+B=3xqAVbZUAy86jb5W4YD06PV0QOJbm9dg@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<div dir="ltr">
<div>
<div>
<div>Hi,<br>
<br>
</div>
Access tokens generated by MITREid Connect and transmitted
to the client are JWT tokens but do not contain scopes.<br>
</div>
<div>Therefore, resource server has to call the introspect URL
to fetch the scope.<br>
</div>
<div><br>
Since MITREid is using signed JWT, the resource server can
verify the access token.<br>
</div>
<div>So why not include the scopes?<br>
</div>
<div><br>
</div>
<div>Do you declare in MITREid Connect the client application
and the resource server, the client application with no
introspection right, the resource server with introspection?<br>
</div>
<div><br>
</div>
<div>Best regards,<br>
</div>
<br>
</div>
<div>Yannick Béot<br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
mitreid-connect mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mitreid-connect@mit.edu">mitreid-connect@mit.edu</a>
<a class="moz-txt-link-freetext" href="http://mailman.mit.edu/mailman/listinfo/mitreid-connect">http://mailman.mit.edu/mailman/listinfo/mitreid-connect</a>
</pre>
</blockquote>
<br>
</body>
</html>