Login with Amazon — Access User Email in Alexa Skills
Login with Amazon (LWA) is Amazon's OAuth service that lets Alexa Skill users sign in with their Amazon credentials. Unlike full Account Linking, LWA provides a simpler flow specifically for accessing basic profile information like email, name, and postal code.
When to Use LWA vs. Account Linking
If you only need the user's email address or name, Login with Amazon is the lighter option. Full Account Linking with Auth0 is better when you need to connect to your own user database or third-party authentication system.
Implementation
Request the alexa::profile:email:read permission in your skill manifest, then access the email through the Alexa API:
async LAUNCH() {
try {
const email = await this.$user.getEmail();
return this.$send({
message: `Welcome! Your email is ${email}`
});
} catch(e) {
// Permission not granted — send permissions card
return this.$send({
message: 'Please grant email access in the Alexa app.',
platforms: { alexa: { card: { type: 'AskForPermissionsConsent',
permissions: ['alexa::profile:email:read'] } } }
});
}
}