Constructors
new SimpleSignInService()
new SimpleSignInService():SimpleSignInService
Returns
SimpleSignInService
Methods
getUserAndLinks()
static getUserAndLinks(identityProviderName): Promise<GetUserAndLinksResponse>
Initiates a request to fetch Simple Sign-in related data for the current active Amazon user
on the device through the requesting app. The response includes the following pieces of data:
- The list of active linked accounts along with a new SSI token for each account.
- Your scoped identity of the Amazon user, used by apps to scope the linkToken to an Amazon user during token generation.
Parameters
identityProviderName
string
The name of the identity provider you use to authenticate
users signing into your apps. This is the id you received
during Simple Sign-In onboarding on developer console.
Returns
Promise<GetUserAndLinksResponse>
A promise object that when resolves gives the response conatining user-id and
existing links created with Amazon.
linkUserAccount()
static linkUserAccount(request): Promise<LinkUserAccountResponse>
Initiates account linking for a user’s app account. The solution allows N:N mapping
between Amazon and app accounts. There can be multiple app accounts linked to an
Amazon account, and an app account can be linked to multiple Amazon accounts simultaneously.
Before setting up account linking, the Simple Sign-in client prompts for the user’s consent by
displaying a user consent screen. On securing the user’s consent, link data along with linkToken
is stored on the Simple Sign-in server. If a user declines consent for account linking, the
linking process is aborted and the linkToken received from you is discarded.
Parameters
request
LinkUserAccountRequest
Request containing partner user id, identity provider name, user login name,
link token generated by 3P app and link signing key generated by 3P app.
Returns
Promise<LinkUserAccountResponse>
A promise object that when resolves gives the response containing link-id of the link
created and the success-code of the link creation request.
recordMetricEvent()
static recordMetricEvent(request): Promise<RecordMetricsEventResponse>
Initiates an event that needs to be recorded for metric publishing. Simple Sign-in
business metric reports can be downloaded in the Reporting tab of the Developer Console.
These metrics can provide insights into the business value and impact of integrating with SSI.
Parameters
request
SSIEventRequest
Request containing SSI Event, Timestamp in milliseconds and
Failure Reason if SSI Event is a failure.
Returns
Promise<RecordMetricsEventResponse>
A promise object that when resolves returns the status if the request was success or failure.
showLoginSelection()
static showLoginSelection(loginNames): Promise<ShowLoginSelectionResponse>
Initiates screen to display options to login to users. Before initiating this API, for each linked account
fetched using getUserAndLinks API, the app should retrieve a friendly user-recognizable identifier
like (login name/email address/profile name) from the app server, and include this data in the request.
This data is displayed on the screen and used to help customers easily recognize linked app accounts.
Parameters
loginNames
LoginNameValue[]
List of the login-name to display and their link-id mapping.
Returns
Promise<ShowLoginSelectionResponse>
A promise object that when resolves gives the user’s selection and the link-id
if selected to login with.

