You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
offline_access isn't needed in this case, but the automation I have in place to build service principles / app registrations adds it automatically.
This is a standard configuration for EntraID Oauth2 support. Honestly, I don't even think i've seen the debug logs on TinyAuth so I could be way off here, and I apologize for opening up an issue to bring it up if that's the case. I'm happy to help document this out to have it included, or get a EntraID tenant set up for TinyAuth testing.
I think it's important to point out that Entra doesn't guarantee an email claim to be returned, even if the permission is granted in the app registration.
Based on my limited understanding, it's likely the user configured in the original linked issue didn't have a mail address. Entra ID treats mail as a separate field to UPN, and they're often confused.
...the Microsoft identity platform produces the name claims, subject claim, and email when available and consented to.
The key point here is "when available". Just to double check, does your user have the mail filed populated? Are you able to set up a test user without a mail address to see if we can reproduce the behaviour?
for Work / School accounts, it's true that you don't have to be licensed and you won't receive an email attribute on your user object. There is plenty of documentation online to pass the UPN parameter through to the email token during the auth flow. This is the common failure mode for accounts that don't have email address. UPN is required https://community.auth0.com/t/entra-ad-users-without-email-cannot-accept-organization-invite/199740/5
There's a few other places this is documented online. I would be happy to write the steps and have it included with TinyAuth as an option. I hate seeing EntraID is not supported because it will easily turn people off from using TinyAuth.
Quick update on this. With #1087 you will be able to do claim mapping. This means that you can use irregular claims from the user-info endpoint. For example, if Entra returns foo_email in user-info, you can use the following configuration option:
and Tinyauth will get the email from the foo_email claim. I haven't tested this with Entra and this is as far as I am willing to go with supporting it. This option (and the rest for groups, username and name) is not just for Entra but for any OpenID Connect provider that mostly implements the specification.
Activity
scottmckendry commentedon May 22, 2026
I think it's important to point out that Entra doesn't guarantee an email claim to be returned, even if the permission is granted in the app registration.
Based on my limited understanding, it's likely the user configured in the original linked issue didn't have a mail address. Entra ID treats mail as a separate field to UPN, and they're often confused.
From MS docs:
The key point here is "when available". Just to double check, does your user have the mail filed populated? Are you able to set up a test user without a mail address to see if we can reproduce the behaviour?
thechiefn commentedon Aug 24, 2026
for Work / School accounts, it's true that you don't have to be licensed and you won't receive an email attribute on your user object. There is plenty of documentation online to pass the UPN parameter through to the email token during the auth flow. This is the common failure mode for accounts that don't have email address. UPN is required
https://community.auth0.com/t/entra-ad-users-without-email-cannot-accept-organization-invite/199740/5
There's a few other places this is documented online. I would be happy to write the steps and have it included with TinyAuth as an option. I hate seeing EntraID is not supported because it will easily turn people off from using TinyAuth.
steveiliop56 commentedon Aug 24, 2026
Quick update on this. With #1087 you will be able to do claim mapping. This means that you can use irregular claims from the user-info endpoint. For example, if Entra returns
foo_emailin user-info, you can use the following configuration option:and Tinyauth will get the email from the
foo_emailclaim. I haven't tested this with Entra and this is as far as I am willing to go with supporting it. This option (and the rest for groups, username and name) is not just for Entra but for any OpenID Connect provider that mostly implements the specification.