Login utilizando OAuth2 - State (?)

Boa tarde pessoal,

Estou realizando uma integração de login em nosso aplicativo iOS. Essa integração foi feita utilizando OAuth2. Os parâmetros necessários são os seguintes:

  client_id: string
  state: string
  redirect_uri: string
  scope: string
  response_type: string

O único parâmetro que não consegui obter, foi o “state”. Analisei o comportamento do site e não consegui identificar como o front consegue obter essa informação, que me parece ser um JWT.

Existe alguma API para pegar o “state” e realizar a autenticação pelo endpoint abaixo?

https://vtexid.vtex.com.br/VtexIdAuthSiteKnockout/ReceiveAuthorizationCode.ashx?state={state}&code={code}

Obrigado!

1 Like

Oi @diogenis tudo bem?

Esse parâmetro é gerado automaticamente pelo VTEX ID e não é alterado.

Você pode consultar mais informações aqui Criar autenticação OAuth2

Aqui neste outro doc Webstore (OAuth 2.0) você consegue ter uma outra visão também mais robusta do setup que você precisa fazer para que o parâmetro seja corretamente inserido na URL.

Espero que estas informações te ajude.

Abs,
Estevão
PO ENEXT

Se estas informações resolveu de alguma forma, marque-a como resposta para apoiar outros da comunidade.

1 Like

Boa @estevao_santos, já tinha encontrado a documentação também.

Mas esse é o ponto, eu apenas precisava recuperar o “state” de alguma forma. Como utilizo apenas API’s não consigo gerar esse “state”. Pelo menos não encontrei, até agora, algum endpoint que retorne ele como cookie, por exemplo.

No site ele apenas aparece após ser redirecionado para o login, já na URL.

Obrigado pela resposta! :v:

Entendi @diogenis

Suspeito que você vai precisar de um Backend fazendo essa rotina e passando o parâmetro para você do jeito que precisa, visto que ele só é gerado diretamente.

Um Backend conseguiria tratar melhor essa parte para você.

Abs,
Estevão.

1 Like

Eu sou o backend do meu time também @estevao_santos, hahahaha. :joy:

Mas o lance do OAuth2 foi feito por outra agência através de Cloud Functions do Firebase. Eu tenho o projeto até. Mas lá não tem nada relacionado a criação do “state”.

Se você já teve essa experiência, poderíamos bater um papo, se você tiver disponibilidade. Posso estar mostrando pra você a situação.

Valeu @estevao_santos!

1 Like