Alexa Login with Amazon — Get User Email in Your Skill
Login with Amazon (LWA) lets your Alexa Skill request permission to access a customer's profile — including their email address, name, and phone number. This tutorial shows how to set it up and access the data in your Jovo handlers.
Option A: Alexa Customer Profile API (No Account Linking)
If you only need the email and don't want a full OAuth flow, use the Alexa Customer Profile API. Request the alexa::profile:email:read permission in your skill manifest and call the API from your handler:
async LAUNCH() {
try {
const email = await this.$alexa!.$user.getEmail();
return this.$send({ message: `Your email is ${email}` });
} catch (e) {
return this.$send({
message: 'Please grant email permission in the Alexa app.',
card: { type: 'AskForPermissionsConsent', permissions: ['alexa::profile:email:read'] }
});
}
}
Option B: Full Login with Amazon + Account Linking
For a persistent identity across sessions, use Login with Amazon as your OAuth 2.0 provider via the Account Linking setup. See our Auth0 Account Linking tutorial for the complete OAuth flow — the process is identical but using LWA as the authorization server.