• 0
Sign in to follow this  
ricardomukeka

ID e Secret key vs. Usuario logado Mercado Livre

Question

Fala galera, vou tentar ser breve nas minhas duvidas de autenticação.

Parto do principio que o ID e Secret Key do aplicativo ML  são vinculados  a aplicação e não ao usuário, correto?

Estou fazendo a integração com ML para um sistema com vários clientes em C# e asp.net, hoje já pego o token e publico itens, porem surgiu algumas duvidas entre a relação do Token e usuário logado.

A estrutura de autenticação que criei funciona assim:

Hoje ao realizar login o no meu sistema, valido com o SecretKey e ID, e após o Login é redirecionado para o ML para a autenticação, assim autenticado o ML redireciona para a Home do meu sistema, armazenando o Token no banco, após isso não é mais solicitado a autenticação do usuário do mercado livre.

Duvidas:

- Havendo outro vendedor que utilize o sistema ele não pede autenticação do mercado livre após o login, pois já foi autenticado, e vai direto vinculado ao primeiro usuário fornecido ao ML, existe como pedir a autenticação do usuário do mercado livre, sempre que logar no sistema?

Utilizo a seguinte chamada para autenticação : https://auth.mercadolivre.com.br/authorization?response_type=code&client_id=XXXXXXXXXX

Obrigado.

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Obrigado pela resposta,

A solução que analisei mais viável,  seria sempre que autenticar o usuário no mercado livre, ser solicitado usuário e senha e nova autenticação, o que não esta ocorrendo.

Existe alguma chamada diferente da "https://auth.mercadolivre.com.br/authorization?response_type=code&client_id=XXXXXXXXXX" que estou usando, que force o login no mercado livre na autenticação?
 

Obrigado.

Share this post


Link to post
Share on other sites
  • 0
48 minutes ago, ricardomukeka said:

A solução que analisei mais viável,  seria sempre que autenticar o usuário no mercado livre, ser solicitado usuário e senha e nova autenticação, o que não esta ocorrendo.

não. O acesso você controla pelo seu sistema. 
O cliente já autorizou o uso da sua aplicação na conta dele e a partir de agora você só precisa renovar o access_token depois de 6 horas de gerado.

Share this post


Link to post
Share on other sites
  • 0

Opa, comecei a entender a ideia, obrigado.

Mas estou com uma duvida aqui, pode ser que esteja enganado, mas eu não vi na documentação como trocar o usuário logado no mercado livre, pois uma vez autenticado ele não pede mais.

Obrigado

 

 

Share this post


Link to post
Share on other sites
  • 0

Pode ser que a minha duvida seja simples e eu não esteja conseguindo me expressar eu preciso autenticar de acordo com o usuario logado no meu sistema, ou entendi errado e cada Aplicativo pertença a um usuario.

Share this post


Link to post
Share on other sites
  • 0
9 hours ago, ricardomukeka said:

Opa, comecei a entender a ideia, obrigado.

Mas estou com uma duvida aqui, pode ser que esteja enganado, mas eu não vi na documentação como trocar o usuário logado no mercado livre, pois uma vez autenticado ele não pede mais.

Obrigado

 

 

Como o @mldev mencionou . Se você tem múltiplos usuários você pode habilitar o escopo offline ai você pode seguir o fluxo oauth padrão que não precisa de URL de retorno nesse caso um simples curl

curl --request POST \
  --url https://api.mercadolibre.com/oauth/token \
  --header 'Cache-Control: no-cache' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data 'client_id=XXXX&client_secret=YYYY&grant_type=client_credentials'

já retorna o access token

 

Share this post


Link to post
Share on other sites
  • 0

Perfeito, eu executei o Curl:

"curl --request POST \
  --url https://api.mercadolibre.com/oauth/token \
  --header 'Cache-Control: no-cache' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data 'client_id=XXXX&client_secret=YYYY&grant_type=client_credentials'

já retorna o access token"

A questão é que sempre que passo a autenticação para o meli, eu passo o id e o código secreto do Aplicativo, e nada referente ao usuário logado, quando entro no sistema com um usuário e saio e entro com outro, ele retorna o token com o usuario autenticado primeiro no mercado livre, existe uma forma de deslogar do mercado livre ?

Share this post


Link to post
Share on other sites
  • 0

Compreendo, obrigado pela resposta  mldev,

Eu li e reli o documento, pode ser realmente que não tenha entendido, mas muita coisa esta claro já pra mim, se eu utilizasse apenas um usuário não teria problema nenhum estaria correto hoje já.

Levando em consideração que tenho multi usuários, ainda insisto que não compreendi a onde vinculo o novo usuário logado a um novo token, a partir do momento que saio  logo com novo usuário no meu sistema, pois ao ser redirecionado no app mercado livre o mesmo já esta autenticado e redireciona com um codigo gerado.

Indo mais além no problema, isso impacta no anuncio do item, pois até onde eu vi,  não passo o ID do vendedor no anuncio pois esta vinculado ao TOKEN da publicação.

Peço desculpas pela insistência mas só quebrando a cabeça rs para coompreender.

 

Obrigado novamente.

Share this post


Link to post
Share on other sites
  • 0
53 minutes ago, ricardomukeka said:

Perfeito, eu executei o Curl:

"curl --request POST \
  --url https://api.mercadolibre.com/oauth/token \
  --header 'Cache-Control: no-cache' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data 'client_id=XXXX&client_secret=YYYY&grant_type=client_credentials'

já retorna o access token"

A questão é que sempre que passo a autenticação para o meli, eu passo o id e o código secreto do Aplicativo, e nada referente ao usuário logado, quando entro no sistema com um usuário e saio e entro com outro, ele retorna o token com o usuario autenticado primeiro no mercado livre, existe uma forma de deslogar do mercado livre ?

Não precisa de usuário logado per se . Lembre-se que o id e o secret vem do app , que está ligado a sua conta

No meu servidor que roda minha plataforma eu tenho uma conta de produção e uma de testes e nunca sequer abri o browser nela

Share this post


Link to post
Share on other sites
  • 0

Certo, o fluxo está claro pra mim....

1) Redirect seu aplicativo a Mercado Livre.
2) Você não tem que se preocupar com a autenticação dos usuários no Mercado Livre, nossa plataforma fará tudo!
3) Pagina de autenticação.
4) Chamada da API de Mercado Livre POST para intercambiar o código de autorização por um access_token.
5) A API de Mercado Livre intercambia o código de autorização por um access_token.
6) Já pode utilizar o access_token para realizar chamadas a nossa API e assim obter acesso aos dados privados do usuário.

O problema é que no item 3, o usuário já esta autenticado, sem me dar a opção de logar com novo usuário vendedor no ML, isso que to tentando deixar claro e até agora acredito que ninguém compreendeu para me ajudar em uma solução, pois o usuário antigo ainda está logado no mercado livre logando automaticamente.

Uma solução que eu não sei se existe, seria autenticar com usuário e senha no mercado livre pela api.

Obrigado

Share this post


Link to post
Share on other sites
  • 0

Valeu pela ajuda galera, resolvi meu problema da seguinte maneira:

- Quando o usuário logar a primeira vez no meu sistema, chamo a autenticação do ML e após o processo eu gero e gravo o token e refresh token na tabela do usuário do meu sistema.

- Sempre que o usuário logar eu executo o refresh token para atualizar o token do usuário.

Dessa maneira vinculo o usuário do meu sistema a uma conta do ML e só chamo uma vez a autenticação dele.

O que acharam? Aceito sugestões rs

Abraço.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this