• 0
Thavo

[PHP] Refresh Token Sem Limite

Question

Bom dia a todos,

Tal como mecionei no titulo, pretendo saber se existe alguma forma de estar sempre a atualizar o token sem que o mesmo se expire.
Autentiquei minha aplicação aqui nesta página com o ID da API http://developers.mercadolibre.com/pt-br/servicos-autenticacao-autorizacao/
Obtive o access_token.
Autorizei minha aplicação através deste exemplo https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=App_id
No qual obtive o refresh_token, entretanto agora preciso saber como ter um token valido por muito tempo ou
como atualizar o token de forma a que o mesmo nunca expire.

Obs : Quando tento utilizar esta função refreshAccessToken() do SDK, eis que surge o seguinte erro:

array(2) {
  ["body"]=>
  object(stdClass)#9 (4) {
    ["message"]=>
    string(103) "Error validating grant. Your authorization code or refresh token may be expired or it was already used."
    ["error"]=>
    string(13) "invalid_grant"
    ["status"]=>
    int(400)
    ["cause"]=>
    array(0) {
    }
  }
  ["httpCode"]=>
  int(400)
}

Meu access_token esta expirado, pois passou-se mais do que 6 horas.
============================================================
Questão 2 :
Como faço para verificar se minha sessão expirou? Qual o calculo que devo fazer?

English :

Hello everyone,

As I mentioned in the title, I would like to know if there is anyway to always refresh the token without it expiring.
I followed the API docs, I've authenticated with my APP ID http://developers.mercadolibre.com/pt-br/servicos-autenticacao-autorizacao/
to get the access_token
I authorized the APP following this example https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=App_id
to get the refresh_token, however I want to know how do I get a token valid for much longer than 6 hours or if there is anyway to always refresh the token for it never expire.

 

Edited by Thavo

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Já estou a utiliza-lo.
Refiz o processo e consegui utilizar a função refreshAccessToken.

Para quem pretende que o token sempre fique atualizando fica aqui a dica:
1º Passo - Obter o Access_Token -> Entrar neste link http://developers.mercadolibre.com/pt-br/autenticacao-e-autorizacao/
Colar a APP ID criada nesta página : https://applications.mercadolivre.com.br/

2º Passo - Obter o refresh Token -> https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=APP_ID
Feito isso será redirecionado para a o redirect_uri configurado na API, nessa página deverá guardar o token iniciado com TG

Atualizar o Token com SDK:
$this->meli->refreshAccessToken();

No retorno deverão guardar as seguintes informações: ['body']->access_token | ['body']->expires_in | ['body']->refresh_token

A documentação deixou-me um pouco confuso, contudo depois de vários testes consegui resolver o meu problema.


Podem fechar o tópico.

Cumprimentos.

Share this post


Link to post
Share on other sites
  • 0
On 24/07/2017 at 11:03 AM, daniel.uramg said:

Bom dia,

poderia postar como exemplo seu arquivo PHP?

Estou tentando criar uma função para reautenticar com o refresh_token mas estou levando uma surra.

Em um outro POST você colocou que é complicado que sempre há direcionamento para "Leia a documentação".
Eu sou um dos que defendem não passar código. Compreender, Aprender, Desenvolver

Share this post


Link to post
Share on other sites
  • 0
On 24/07/2017 at 11:03 AM, daniel.uramg said:

Bom dia,

poderia postar como exemplo seu arquivo PHP?

Estou tentando criar uma função para reautenticar com o refresh_token mas estou levando uma surra.

Olá @daniel.uramg, não posso passar os arquivos pelos seguintes motivos:

1. trabalho para uma empresa, tenho que cumprir com os termos de direitos de propriedade (além do que eles pagam para desenvolver, como você se sentiria se você passe por algo e depois alguém desse isso de graça?)

2. não resolveria seu problema, pois é um sistema extremamente complexo (poliglota nas linguagens e bancos de dados)

3. concordo co o @rodrigojob, também defendo que é necessário compreender e desenvolver sua própria aplicação, senão virão outros problemas no futuro

4. tem ótimos exemplos aqui no fórum, tudo muito discutido

abraços!!

Share this post


Link to post
Share on other sites
  • 0
17 hours ago, daniel.uramg said:

1º Eu não pedi à você, você não é autor do tópico e sequer havia comentado neste tópico antes.

2º Conforme eu respondi no outro tópico, eu li a documentação e estou tendo erro 404 que até onde eu sei é erro de Página Inexistente,.

3º Se somente a documentação bastasse para 100% dos casos não precisaria existir um Fórum para troca de informações;

4º Se não quer ajudar vai à *****!

1. o tópico é público, todos os usuários tem direito a responder

2. cada assunto deve ser tratado em um único tópico, um usuário não tem obrigação de saber a resposta que você deu em outro tópico

3. a documentação cobre 100% da API, o fórum existe para discutir soluções complementares, ideias e sugestões, assim como auxiliar os usuários menos experientes em programação

4. o @rodrigojob é o usuário que mais colaborou com este fórum até hoje, você pode até não concordar com ele, porém respeito é fundamental

 

boa sorte

Share this post


Link to post
Share on other sites
  • -1
1 minute ago, mldev said:

Olá @daniel.uramg, não posso passar os arquivos pelos seguintes motivos:

1. trabalho para uma empresa, tenho que cumprir com os termos de direitos de propriedade (além do que eles pagam para desenvolver, como você se sentiria se você passe por algo e depois alguém desse isso de graça?)

2. não resolveria seu problema, pois é um sistema extremamente complexo (poliglota nas linguagens e bancos de dados)

3. concordo co o @rodrigojob, também defendo que é necessário compreender e desenvolver sua própria aplicação, senão virão outros problemas no futuro

4. tem ótimos exemplos aqui no fórum, tudo muito discutido

abraços!!

Ok entendo, obrigado pelo retorno, estou estudando a documentação mas ainda enfrento alguns problemas que vou resolver.

Share this post


Link to post
Share on other sites
  • -2
15 minutes ago, rodrigojob said:

Em um outro POST você colocou que é complicado que sempre há direcionamento para "Leia a documentação".
Eu sou um dos que defendem não passar código. Compreender, Aprender, Desenvolver

1º Eu não pedi à você, você não é autor do tópico e sequer havia comentado neste tópico antes.

2º Conforme eu respondi no outro tópico, eu li a documentação e estou tendo erro 404 que até onde eu sei é erro de Página Inexistente,.

3º Se somente a documentação bastasse para 100% dos casos não precisaria existir um Fórum para troca de informações;

4º Se não quer ajudar vai à *****!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...