Developer Console

Customer Profile

A customer profile contains the data that Login with Amazon applications can access regarding a particular customer. This includes: a unique ID for the user; the user's name, the user's email address, and their postal code. This data is divided into three scopes: profile, profile:user_id and postal_code.

When you request an access token, you can request multiple access scopes by separating them with a space (for example, profile postal_code). When your request is granted, it will specify the scope(s) returned.

profile

The profile scope includes a user's name and email address. With access to the customer's profile, you can uniquely identify them when they login, and you can communicate with them via email. The profile data is returned in JSON format and consists of three parts: the user_id, the email, and the name. The user_id is assigned by Amazon, and uniquely identifies the user's account. The email is the email address that they have registered with Amazon. For example:

{
    "email" : "johndoe@gmail.com",
    "name" : "John Doe",
    "user_id" : "amzn1.account.K2LI23KL2LK2"
}

When a website or app requests access to the profile scope, the user will be presented with a consent screen the first time they login. The consent screen shows the information requested and their current values. The user must consent to share this information in order for login to complete. After the user consents, that consent is recorded and future attempts to login with the same scope will not present a consent screen.

profile:user_id

The second access scope is profile:user_id. profile:user_id only includes the user_id field of the profile. This uniquely identifies the user but does not provide their name, email address, or postal code. Because no personal information is requested, the user will not be presented with a consent screen the first time they log in.

Every company that creates websites or apps for Login with Amazon gets the same user_id for a customer. However, when a customer logs in to another company's app or site, the user_id will be different. This is so user_id cannot be used to track customers across the Web.

postal_code

The third access scope is the postal_code scope. This includes the user's zip/postal code number from their primary shipping address. The postal code provides valuable location data that allows you to tune your offerings and understand your customers better. For example:

{
    "user_id" : "amzn1.account.K2LI23KL2LK2"
    "email" : "johndoe@gmail.com",
    "name" : "John Doe",
    "postal_code": "98101",
}

When an app requests access to the postal_code scope, alone or in concert with the profile or profile:user_id scope, the user will have to consent to share the information.


Last updated: Nov 25, 2020