<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[E-mail field not exists in access token]]></title><description><![CDATA[<p dir="auto">According to the docs here:<br />
<a href="https://fusionauth.io/docs/quickstarts/quickstart-php-laravel-api#provisioning-new-users" rel="nofollow ugc">https://fusionauth.io/docs/quickstarts/quickstart-php-laravel-api#provisioning-new-users</a><br />
the access token received from the FusionAuth should contain <code>email</code> field. But it does not. After logging in the <code>app.at</code> token looks like this:<br />
<img src="/community/forum/assets/uploads/files/1716798606882-96b5500b-7749-4773-8c8d-1382e6b5e12f-image.png" alt="96b5500b-7749-4773-8c8d-1382e6b5e12f-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Is this the correct behavior ? I mean, the e-mail is there in the <code>app.idt</code> along with other data:<br />
<img src="/community/forum/assets/uploads/files/1716798910639-1ecc59bb-91dd-43cf-8a4a-0b27df590ebf-image.png" alt="1ecc59bb-91dd-43cf-8a4a-0b27df590ebf-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Wouldn't it be better to change <code>app_at</code> to <code>app_idt</code> here to actually parse and verify ID Token instead of access token ?<br />
<img src="/community/forum/assets/uploads/files/1716798987978-c8f552b6-3cf0-45ea-8d75-1230182dd642-image.png" alt="c8f552b6-3cf0-45ea-8d75-1230182dd642-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://fusionauth.io/community/forum/topic/2692/e-mail-field-not-exists-in-access-token</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 05:23:26 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/topic/2692.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 May 2024 08:37:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to E-mail field not exists in access token on Tue, 28 May 2024 14:59:20 GMT]]></title><description><![CDATA[<p dir="auto">You can read more about the differences of the cookies set in our <a href="https://fusionauth.io/docs/apis/hosted-backend" rel="nofollow ugc">hosted backend</a> documentation.</p>
<p dir="auto"><em>Cookies Set By the Hosted Backend</em></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Name</th>
<th>HttpOnly</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://app.at" rel="nofollow ugc">app.at</a></td>
<td>true</td>
<td>The access token for the configured application. This is a JWT and can be presented to your APIs to access data and functionality.</td>
</tr>
<tr>
<td>app.rt</td>
<td>true</td>
<td>The refresh token for the configured application. Only present if the <code>offline_access</code> scope is requested. This can be presented to FusionAuth to retrieve a new access token.</td>
</tr>
<tr>
<td>app.idt</td>
<td>false</td>
<td>The Id token for the user for the configured application. Only present if the <code>openid</code> scope is requested. This is a JWT and can be accessed by JavaScript to display user account information.</td>
</tr>
<tr>
<td>app.at_exp</td>
<td>false</td>
<td>The unix epoch timestamp indicating when the access token will expire. This can be checked by JavaScript to determine when a refresh token should be used to get a new access token.</td>
</tr>
</tbody>
</table>
<p dir="auto">As you have called out the two tokens are meant for two different purposes.<code>app.idt</code> is available to the browser using JavaScript and <code>app.idt</code> is available only on calls that involve the server.</p>
<p dir="auto">During true OAuth (not utilizing openid) you will not see email utilized. This is still valid for checking if a user is authenticated. You can send this to all of your API endpoints as well.</p>
]]></description><link>https://fusionauth.io/community/forum/post/7309</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7309</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Tue, 28 May 2024 14:59:20 GMT</pubDate></item><item><title><![CDATA[Reply to E-mail field not exists in access token on Fri, 14 Jun 2024 14:40:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3001">@zaalbarxx</a> sorry for the delay. I might be missing it (sorry not a PHP person) but I don't see where that confusion comes into play. I know that some of our docs had to get updated because of a change that we made during our 1.50 release that required to request further details in our scopes request.</p>
<blockquote>
<p dir="auto">This release makes significant changes to the default behavior of new Applications with regard to scopes in OAuth workflows. The database migration will update existing Applications to behave in a backwards compatible manner. See the OAuth <a href="/docs/lifecycle/authenticate-users/oauth/scopes" rel="nofollow ugc">Scopes</a> documentation for more information, in particular the <code>Relationship</code>, <code>Unknown scope policy</code>, and <code>Scope handling policy</code> configurations.</p>
</blockquote>
<p dir="auto"><a href="https://fusionauth.io/docs/release-notes/#version-1-50-0" rel="nofollow ugc">https://fusionauth.io/docs/release-notes/#version-1-50-0</a></p>
<p dir="auto">Let me know if that still isn't making sense, or if there is a spot you were hung up on and I would be happy to update our docs. Or even better feel free to add a PR.</p>
]]></description><link>https://fusionauth.io/community/forum/post/7342</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7342</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Fri, 14 Jun 2024 14:40:46 GMT</pubDate></item><item><title><![CDATA[Reply to E-mail field not exists in access token on Wed, 29 May 2024 09:02:05 GMT]]></title><description><![CDATA[<p dir="auto">@Alex-Patterson Then I believe you should update your example repo, because the code there mistakenly makes reader think that the email will be there. Anyway, thanks for clarification, cheers <img src="https://fusionauth.io/community/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=rcgg4tg866g" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://fusionauth.io/community/forum/post/7318</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7318</guid><dc:creator><![CDATA[zaalbarxx]]></dc:creator><pubDate>Wed, 29 May 2024 09:02:05 GMT</pubDate></item><item><title><![CDATA[Reply to E-mail field not exists in access token on Tue, 28 May 2024 14:59:20 GMT]]></title><description><![CDATA[<p dir="auto">You can read more about the differences of the cookies set in our <a href="https://fusionauth.io/docs/apis/hosted-backend" rel="nofollow ugc">hosted backend</a> documentation.</p>
<p dir="auto"><em>Cookies Set By the Hosted Backend</em></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Name</th>
<th>HttpOnly</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://app.at" rel="nofollow ugc">app.at</a></td>
<td>true</td>
<td>The access token for the configured application. This is a JWT and can be presented to your APIs to access data and functionality.</td>
</tr>
<tr>
<td>app.rt</td>
<td>true</td>
<td>The refresh token for the configured application. Only present if the <code>offline_access</code> scope is requested. This can be presented to FusionAuth to retrieve a new access token.</td>
</tr>
<tr>
<td>app.idt</td>
<td>false</td>
<td>The Id token for the user for the configured application. Only present if the <code>openid</code> scope is requested. This is a JWT and can be accessed by JavaScript to display user account information.</td>
</tr>
<tr>
<td>app.at_exp</td>
<td>false</td>
<td>The unix epoch timestamp indicating when the access token will expire. This can be checked by JavaScript to determine when a refresh token should be used to get a new access token.</td>
</tr>
</tbody>
</table>
<p dir="auto">As you have called out the two tokens are meant for two different purposes.<code>app.idt</code> is available to the browser using JavaScript and <code>app.idt</code> is available only on calls that involve the server.</p>
<p dir="auto">During true OAuth (not utilizing openid) you will not see email utilized. This is still valid for checking if a user is authenticated. You can send this to all of your API endpoints as well.</p>
]]></description><link>https://fusionauth.io/community/forum/post/7309</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7309</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Tue, 28 May 2024 14:59:20 GMT</pubDate></item></channel></rss>