We found a workaround: instead of relying on SSO to request consent, catch the consent error and redirect the user to the authorization page requesting the same scopes as SSO. For whatever reason, manually requesting the scopes instead of relying on SSO gets the badge to display in the consent dialog.
- If you're using @microsoft/teams-js, you can catch the consent error in authentication.getAuthToken() using the silent=true option
- Redirect the user to https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/authorize requesting the same scopes as SSO: profile offline_access openid email
- You should see the consent dialog with the verified badge