Autorizar através do Marketplace Appstore
Neste processo será executado o fluxo de autorização OAuth em que o vendedor inicia a partir da página de Marketplace App Store da Amazon.
Quando desenvolvedores parceiros listam a sua aplicação no Marketplace App Store, os vendedores podem pesquisar essa aplicação na App Store e autorizá-la ao clicar no botão de "Autorizar já".
Como testar o fluxo de autorização da App Store do Marketplace
-
Tenha certeza que sua aplicação está no status de "Rascunho", para olhar este status volte no tópico "Checando as suas informações de desenvolvedor".
-
Faça um ou mais URIs de autorização OAuth para testes. Inclua sempre o parâmetro "&version=beta" no final, enquanto a aplicação está em Rascunho;
-
No passo 3 (o vendedor entra no seu website), tenha certeza que o fluxo adicione o parâmetro "&version=beta" para o URI de retorno de chamada (call back) da Amazon, afim de indicar que o fluxo de trabalho é para autorizar um aplicativo no status de Rascunho.
-
Após executados os passos acima, você pode testar o fluxo de autorização com um
vendedor de sua confiança, ou utilizando as suas próprias credenciais de vendedor. Em vez de iniciar pelo passo 1 (o vendedor inicia a autorização do Marketplace App Store),
inicia-se pela navegação da URI de Autorização OAuth criada anteriormente, no passo
URIs de Autorização Oauth.
Nota
Após testar o fluxo de autorização, você pode convertê-lo para o fluxo de produção.
Fluxo de autorização através da App Store do Marketplace
Passo 1 - O vendedor inicia a autorização pela Appstore
- O vendedor faz o log-in no Seller Central e procura a aplicação na App Store.
- O vendedor faz a busca pela sua aplicação e clica no botão de autorização. Logo, a página de consentimento será aberta.
Passo 2 - O vendedor concede autorização para sua aplicação
- O vendedor vai ler, revisar e aceitar os acessos a dados requeridos pela sua aplicação e, então, vai clicar em "Login em [nome da sua aplicação] " para continuar. O que também pode acontecer é o vendedor clicar em "Cancelar" e sair sem autorizar sua aplicação.
- A Amazon vai carregar o seu Login URI (URI de log-in que você informou no registro da sua aplicação) no navegador, adicionando os seguintes parâmetros na query:
Parâmetro | Descrição |
---|---|
amazon_callback_uri | A URI redirecionando o navegador para Amazon. |
amazon_state | Um valor de estado gerado pela Amazon para proteção contra ataques de falsificação de solicitação entre sites. |
selling_partner_id | O Seller ID do seller o qual está autorizando sua aplicação. |
- A página de log-in do seu website aparece.
Passo 3 - O vendedor faz o log-in no seu website
É necessário possuir uma conta no aplicativo
Caso o vendedor ainda não tenha uma conta, ele deve completar o processo de cadastramento na sua plataforma.
A sua aplicação irá carregar o URI de callback Amazon (enviado pela Amazon no passo anterior) no seu navegador, adicionando os seguintes parâmetros:
Parâmetro | Descrição |
---|---|
redirect_uri | Um URI para redirecionar o navegador para seu aplicativo. |
amazon_state | O valor amazon_state passado pela Amazon na etapa anterior. |
state | Um valor de estado gerado por seu aplicativo. Seu aplicativo usa esse valor para manter o estado entre essa solicitação e a resposta, ajudando a se proteger contra ataques de falsificação de solicitação entre sites. |
Nota
Se incluir o parâmetro version=beta, o fluxo vai autorizar a aplicação no status de rascunho. Caso não inclua o parâmetro, o fluxo vai autorizar uma aplicação publicada na App Store.
Passo 4 - A Amazon envia a informação de autorização
O Seller Central exibe uma página para o vendedor indicando que a Amazon está autorizando você (desenvolvedor) a acessar os dados dele. Enquanto esta página é exibida, as seguintes ações ocorrem:
- A Amazon carrega o URI de redirecionamento para o navegador, adicionando os seguintes parâmetros na query:
Parâmetro | Descrição |
---|---|
state | O valor de estado que você passou no passo anterior. |
selling_partner_id | O Seller Id do vendedor que está autorizando a sua aplicação. |
mws_auth_token | O valor MWSAuthToken que você usa ao criar uma string de consulta para uma chamada ao Amazon Marketplace Web Service. O parâmetro mws_auth_token é passado apenas quando o vendedor está autorizando uma aplicação híbrida. |
spapi_oauth_code | O Login with Amazon (LWA) authorization code. Esse LWA authorization code será trocado por um LWA refresh token no passo seguinte. |
Exemplo:
https://client-example.com?state=stateexample&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&spapi_oauth_code=spapioauthcodeexample
- Sua aplicação valida o valor state.
- Sua aplicação salva selling_partner_id, mws_auth_token (caso tenha sido incluído) a spapi_oauth_code.
- A home page do seu website é exibida.
Passo 5 - Sua aplicação troca o código de autorização LWA por um token de atualização LWA
Atenção!
Nesta etapa será realizada a troca do código de autorização LWA (authorization code) para o token de atualização LWA (refresh token).
Nós preparamos um SDK para JavaScript para auxiliar no processo - veja aqui.
Para trocar um código de autorização LWA por um token de atualização LWA:
- Sua aplicação chama o servidor de autorização LWA (https://api.amazon.com/auth/o2/token) para a troca. A chamada precisa incluir os parâmetros abaixo:
Parâmetro | Descrição |
---|---|
grant_type | O tipo de concessão de acesso solicitada. Deve ser o authorization_code. |
code | O authorization code que você recebeu no Passo 4 - Amazon envia a informação de autorização. |
redirect_uri | O URI de redirecionamento para sua aplicação. |
client_id | Esse valor faz parte das credenciais de LWA. Obtido no registro da aplicação. |
client_secret | Esse valor faz parte das credenciais de LWA. Obtido no registro da aplicação. |
Exemplo de chamada:
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
- O servidor de autorização LWA retorna o token de atualização LWA na seguinte resposta em JSON:
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"
}
- Sua aplicação salva o valor de refresh_token;
- O navegador mostra a página que indica os próximos passos para utilizar a sua aplicação.
Nota
O LWA refresh_token é um token de longa duração que pode ser trocado por um novo token de acesso (passo que será executado em seguida). Este token deve ser incluído em todos os requests para a SP-API. Uma vez que o token é recebido, ele é válido por uma (1) hora. Esse token pode ser utilizado para realizar diversas chamadas APIs dentro da SP-API.
Agora a sua aplicação está autorizada a fazer chamadas na SP-API pelo vendedor!
Convertendo o fluxo de autorização teste para produção
- Faça a publicação da sua aplicação no Marketplace App Store. Esta ação fará com que sua aplicação mude do status de rascunho para publicado. Para tal, na Central de Desenvolvedores, selecione a opção "Criar oferta" e preencha os formulários.
- Atualize o seu fluxo para que não tenha mais o parâmetro "&version=beta" realizado na seção URIs de autorização OAuth.
Updated about 3 years ago