Home

Série 1

Páginas filhas
  • Autenticação oAuth

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

É possível utilizar oAuth como autenticação no FIRSTAPP de Gestão, tanto para a utilização das api REST, como para acesso às rotinas via HTML. Esta

...

Para geração do Token temporário, é preciso efetuar uma requisição GET com os dados de autenticação oauth no header, como no exemplo abaixo:

 

GET /oauth/request_token

Header

Authorization:

OAuth oauth_signature_method="PLAINTEXT"

...

oauth_version="1.0"

...

oauth_nonce="J1cud"

...

oauth_timestamp="1426615308"

...

oauth_consumer_key="9cabc2b2b45f28e3e570c7977d41f8adf38fa56a"

...

oauth_signature="4ff4da72030153d30d3f8d6b368cb0d746e67464"

...

 

As quebras de linha são exclusivamente para melhor visualização. Elas não devem ser incluídas na requisição.

...

O retorno deve ser algo no seguinte formato:

oauth_token=a2b901f0c32531fa00fe36a48edaa929b3da51d3&oauth_token_secret=b34c03fa2aa1bbcb73b2200fce52e78743fd1223

 

o oauth_token e o oauth_token_secret deverão ser usados na próxima etapa de autenticação.

...

Outro método, caso o requisitante possua um usuário e senha pré-informados do sistema, é pelo método login. A requisição do login é feita da seguinte forma:

 

GET /oauth/login

Header

Authorization:

OAuth oauth_signature_method="PLAINTEXT"

...

oauth_version="1.0"

...

oauth_nonce="J1cud"

...

oauth_timestamp="1426615308"

...

oauth_consumer_key="9cabc2b2b45f28e3e570c7977d41f8adf38fa56a"

...

oauth_signature="4ff4da72030153d30d3f8d6b368cb0d746e67464"

...

oauth_token="7acd5ef9123790e72fa68967d0aff85911b104e9"

...

oauth_token_secret="ba3f9f072aa9c2c24ea11e94d7b9cef5c71558a4"

...

user="admin"

...

password="testes"

 

As quebras de linhas são apenas para facilitar a visualização. As informações em vermelho variam de acordo com os dados possuídos. 

IMPORTANTE: O espaço entre o valor da chave e o ponto e vírgula é obrigatório.

...

O retorno desta requisição possuirá o seguinte formato:

<token>9a31d82e1edbd9077fc504e8a69c75e1382da0ad</token><error>0</error>

 

Gerando o Token definitivo 

Para a obtenção do Token definitivo, a seguinte requisição deve ser efetuada:

 

GET /oAuth/access_token

Header

Authorization:

OAuth oauth_signature_method="PLAINTEXT"

...

oauth_version="1.0"

...

oauth_nonce="J1cud"

...

oauth_timestamp="1426615308"

...

oauth_consumer_key="9cabc2b2b45f28e3e570c7977d41f8adf38fa56a"

...

oauth_signature="4ff4da72030153d30d3f8d6b368cb0d746e67464"

...

oauth_token="7acd5ef9123790e72fa68967d0aff85911b104e9"

...

oauth_token_secret="ba3f9f072aa9c2c24ea11e94d7b9cef5c71558a4"

...

user="admin"

...

password="testes"

 

As quebras de linhas são apenas para facilitar a visualização. As informações em vermelho variam de acordo com os dados possuídos.

O retorno desta requisição possuirá o seguinte formato:

 

oauth_token=f2ab30cf3cadac35e7279b92fa99&oauth_token_secret=1be9bd57abbb19a0ab279ad2845b

 

Utilizando o Token definitivo 

Há duas utilizações possíveis do token definitivo:

  • Autenticação de serviços REST;
  • Acesso às rotinas do Sistema via SmartClient html;

Para utilização do Token definitivo na autenticação de serviços REST, as requisições deverão conter o seguinte item no cabeçalho:

 

Authorization:

OAuth oauth_signature_method="PLAINTEXT"

...

oauth_version="1.0"

...

oauth_nonce="J1cud"

...

oauth_timestamp="1426615308"

...

oauth_consumer_key="9cabc2b2b45f28e3e570c7977d41f8adf38fa56a"

...

oauth_signature="4ff4da72030153d30d3f8d6b368cb0d746e67464"

...

oauth_token="

...

 f2ab30cf3cadac35e7279b92fa99"

 

As quebras de linhas são apenas para facilitar a visualização. Os campos oauth_token e oauth_token_secret são as informações recebidas pela requisição do /oauth/access_token

...

Veja um exemplo de url válida para o acesso:

http://localhost:8080?auto=true&StartProg=FIRSTOAUTH&Comm=TCP&Env=WARROOM&p0=SM4M030&p1=1b339eb0fd6f513587f1f80e8d04&p2=0101