The getProfileUserInfo documentation says:
- email: Empty if the user is not signed in or the identity.email manifest permission is not specified.
- id: Empty if the user is not signed in or (in M41+) the identity.email manifest permission is not specified.
Edit manifest.json
to include both permissions:
"permissions": ["identity", "identity.email"]