Flujo de autorización del sitio web

Cómo autorizar una aplicación usando un sitio web.

El flujo de autorización del sitio web es un flujo de autorización de OAuth que se inicia desde su propio sitio web. Los selling partners inician sesión en su sitio web y hacen clic en el botón "Autorizar" que usted configura para iniciar la autorización. Para obtener más información, consulte el Paso 0. Configure un botón "Autorizar".

Nota: Los ejemplos de los siguientes pasos son para una aplicación de seller que utiliza un URI de autorización de OAuth basado en una URL de Seller Central. Para aplicaciones de vendor, puede reemplazar la URL de Seller Central con una URL de Vendor Central. Para obtener más información, consulte Construcción de un URI de autorización de OAuth.

Probar su flujo de autorización

Antes de crear un flujo de autorización del sitio web de producción, debe probar su flujo de autorización mientras su aplicación está en estado de draft. Al realizar pruebas, puede asegurarse de que su aplicación pueda intercambiar parámetros con Amazon y recibir información de autorización.

Configurar un flujo de autorización de prueba

Asegúrese de que su solicitud esté en estado de draft.

En el Paso 0. Configure un botón "Autorizar", cuando construya uno o más URI de autorización de OAuth, agregue version=beta a los URI de OAuth para indicar que el flujo es para autorizar una aplicación en estado de draft.

Ahora está listo para probar su flujo de autorización con un selling partner de confianza que trabaje con usted. Alternativamente, puede probar el flujo usted mismo utilizando sus propias credenciales de cuenta de venta. Comience en el Paso 1. El selling partner inicia la autorización desde su sitio web.

Cuando haya terminado de probar el flujo de autorización, puede convertirlo en un flujo de producción.

Convertir su flujo de autorización de prueba en un flujo de producción

Incluya su aplicación en la Selling Partner Appstore. Esto cambiará el estado de su solicitud de draft a publicado.
Importante: Su aplicación debe estar en estado publicado para que funcione el flujo de autorización del sitio web.

Elimine version=beta de los URI de autorización de OAuth que construyó en el Paso 0. Configure un botón "Autorizar". Ahora cualquier selling partner puede autorizar su aplicación publicada a partir del Paso 1. El selling partner inicia la autorización desde su sitio web.

Paso 0. Configure un botón "Autorizar"

Configure un botón "Autorizar" (o similar) en el sitio web de su aplicación donde el selling partner pueda hacer clic para iniciar la autorización de su aplicación. Cuando el selling partner haga clic en el botón, su sitio web cargará un URI de autorización de OAuth en el navegador y el selling partner será redirigido a una página de inicio de sesión de Amazon. Después de iniciar sesión, aparecerá una página de consentimiento donde el selling partner podrá dar su consentimiento para que la aplicación realice llamadas a la API de selling partner en su nombre. Para obtener información sobre cómo construir un URI de autorización de OAuth, consulte Construir un URI de autorización de OAuth.

Nota: Si tiene URIs de autorización de OAuth para más de una región, asegúrese de configurar sus botones "Autorizar" para que los selling partners sean redirigidos a la página de inicio de sesión de Seller Central (para sellers) o Vendor Central (para vendors) correspondiente a su región.

Configurar su(s) botón(es) "Autorizar" es una tarea que solo se realiza una vez.

Paso 1. El selling partner inicia la autorización desde su sitio web

El selling partner inicia sesión en su sitio web. Si el selling partner aún no tiene una cuenta, completará su proceso de registro.

El selling partner hace clic en el botón "Autorizar" que configuró en el Paso 0. Configure un botón "Autorizar". Si tiene más de un botón "Autorizar" regional, asegúrese de que el selling partner sea dirigido al botón que corresponda a la región en la que vende.

Su aplicación carga el URI de autorización de OAuth en el navegador y agrega los siguientes parámetros de consulta:

ParámetroDescripción
redirect_uriUn URI para redirigir el navegador a su aplicación. Debe ser un URI de redireccionamiento de OAuth que especificó cuando registró su aplicación . Si no incluye el parámetro redirect_uri , el valor predeterminado es el primer URI de redirección de OAuth que especificó cuando registró su aplicación.
Opcional
stateUn valor de estado generado por su aplicación. Su aplicación usa este valor para mantener el estado entre esta solicitud y la respuesta, lo que ayuda a protegerse contra los ataques de falsificación de solicitudes entre sitios.

Importante: debido a que la información de OAuth se transmite a través de parámetros de consulta de URL, le recomendamos encarecidamente que haga lo siguiente: 1) Asegúrese de que el token de estado sea de corta duración y verificable que sea único para su usuario, y 2) Establezca la Referrer-Policy: no-referrer HTTP header, que evita la filtración de información confidencial a los sitios web a los que se vincula su sitio web. Para obtener más información sobre la falsificación de solicitudes entre sitios y el cálculo de un parámetro de estado, consulte Cross-site Request Forgery en la documentación de Inicio de sesión con Amazon.

Nota: Si incluye el parámetro version=beta, el flujo de trabajo autoriza una aplicación en estado de Draft. Si no incluyes el parámetro, el flujo de trabajo autoriza una aplicación publicada en la Selling Partner Appstore.

Por ejemplo:

https://sellercentral.amazon.com/apps/authorize/consent?application_id=appidexample&state=stateexample&version=beta

O

https://sellercentral.amazon.com/apps/authorize/consent?application_id=appidexample&state=stateexample

El selling partner llega a la página de inicio de sesión de Seller Central (para sellers) o Vendor Central (para vendors).

Paso 2. El selling partner da su consentimiento para autorizar la aplicación

El selling partner inicia sesión en Seller Central o Vendor Central, según el tipo de OAuth Authorization URI que haya creado. Aparece la página de consentimiento. Para obtener más información, consulte Creación de un URI de autorización de OAuth.

El selling partner ve la página de consentimiento, revisa el acceso a los datos solicitado por su aplicación y luego hace clic en Confirmar para continuar. El selling partner puede hacer clic en Cancelar para salir sin autorización.

Paso 3. Amazon te envía la información de autorización

Amazon muestra brevemente una página que indica que le estamos autorizando a acceder a los datos del selling partner. Mientras se muestra esa página, se llevan a cabo las siguientes acciones:

Amazon carga su OAuth Redirect URI en el navegador (el primero que especificó cuando registró su aplicación), agregando los siguientes parámetros de consulta:

ParámetroDescripción
stateEl valor de estado del Paso 1. El seller inicia la autorización desde .
selling_partner_idEl identificador del selling partner que está autorizando su aplicación.
mws_auth_tokenEl valor MWSAuthToken que utiliza cuando crea una cadena de consulta para una llamada a Amazon Marketplace Web Service. El parámetro mws_auth_token solo se pasa cuando el selling partner autoriza una aplicación híbrida de API de selling partner (SP-API). Tenga en cuenta que si usted es el selling partner que autoriza la aplicación SP-API híbrida y el propietario de la aplicación (lo que significa que usted mismo autorizó su propia aplicación Amazon MWS), no recibirá el MWSAuthToken. Para obtener más información, consulte Aplicaciones API de selling partner híbridos . Solo para aplicaciones de seller.
spapi_oauth_codeEl código de autorización de inicio de sesión con Amazon (LWA) que cambia por un LWA Refresh Token (Token de actualización de LWA). Para obtener más información, consulte el Paso 4. Su aplicación intercambia el código de autorización de LWA por un token de actualización de LWA .
Nota: un código de autorización LWA caduca después de cinco minutos. Asegúrese de cambiarlo por un LWA Refresh Token (Token de actualización de LWA) antes de que caduque.

Por ejemplo:

https://client-example.com?state=state-example&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&spapi_oauth_code=spapioauthcodeexample
  1. Su aplicación valida el valor del estado.
  2. Su aplicación guarda el selling_partner_id , mws_auth_token (si se pasa), y valores de papi_oauth_code .
  3. Se muestra la página de destino de su sitio web.

Paso 4. Su aplicación intercambia el código de autorización de LWA por un LWA Refresh Token (Token de actualización de LWA)

El inicio de sesión con Amazon SDK para JavaScript puede ayudarlo con el intercambio de un código de autorización de LWA por un LWA Refresh Token (Token de actualización de LWA).

Nota: un código de autorización LWA caduca después de cinco minutos. Asegúrese de cambiarlo por un LWA Refresh Token (Token de actualización de LWA) antes de que caduque.

Para obtener más información, consulte la documentación de Iniciar sesión con Amazon:

Para intercambiar un código de autorización de LWA por un LWA Refresh Token (Token de actualización de LWA)

  1. Su aplicación llama al servidor de autorización Login with Amazon (LWA) (https://api.amazon.com/auth/o2/token ) para intercambiar el código de autorización de LWA por un LWA Refresh Token (Token de actualización de LWA). La llamada debe incluir los siguientes parámetros de consulta:
ParámetroDescripción
grant_typeEl tipo de concesión de acceso solicitada. Debe ser código_autorización .
códigoEl código de autorización LWA que recibió en el Paso 3. Amazon le envía la información de autorización.
redirect_uriEl URI de redirección para su aplicación.
client_idParte de sus credenciales de LWA. Para obtener este valor, consulte Visualización de su información de desarrollador .
client_secretParte de sus credenciales de LWA. Para obtener este valor, consulte Visualización de su información de desarrollador .

Por ejemplo:

POST /auth/o2/token HTTP/l.l
Host: api.amazon.com
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
grant_type=authorization_code&code=SplxlOexamplebYS6WxSbIA&client_id=foodev&client_secret=Y76SDl2F
  1. El servidor de autorización de LWA devuelve el LWA Refresh Token (Token de actualización de LWA) La respuesta está en JSON e incluye los siguientes elementos.
ParámetroDescripción
access_tokenUn token que autoriza a su aplicación a realizar ciertas acciones en nombre de un selling partner. Consulte Conexión a la API de selling partner .
token_typeEl tipo de token devuelto. Debe ser bearer.
expires_inEl número de segundos antes de que el token de acceso deje de ser válido.
refresh_tokenUn token de larga duración que se puede cambiar por un nuevo token de acceso. Ver Conexión a la Selling Partner API.
HTTP/l.l 200 OK
Content-Type: application/json;
charset UTF-8
Cache-Control: no-store
Pragma: no-cache
{
  "access_token":"Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR",
  "token_type":"bearer",
  "expires_in":3600,
  "refresh_token":"Atzr|IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX"
}
  1. Su aplicación guarda el valor de refresh_token.
  2. El navegador muestra una página al selling partner que indica los próximos pasos para usar su aplicación.

Un LWA Refresh Token (Token de actualización de LWA) es un token de larga duración que se intercambia por un token de acceso a LWA. Se debe incluir un token de acceso obtenido a través de este intercambio de tokens con las llamadas a todas las operaciones de la Selling Partner API, excepto las operaciones restringidas y operaciones sin garantía que utilizan modelos de autorización algo diferentes. Después de que se emite un token de acceso, es válido durante una hora. El mismo token de acceso se puede usar para varias llamadas a la API, hasta que caduque.

Para intercambiar un refresh token por un token de acceso mediante un SDK generado, consulte Conexión a la API de Selling Partner mediante un SDK de Java generado. Para cambiar manualmente un refresh token por un token de acceso, consulte Conexión a la API de Selling Partner.

Para aplicaciones híbridas de Selling Partner API

Si se devolvió un MWS auth token en el Paso 3. Amazon le envía la información de autorización, su aplicación también está autorizada para realizar llamadas a Amazon MWS en nombre del selling partner's. Para obtener más información, consulte Aplicaciones de la API de Selling Partner híbridos.