Envio de tokens por QueryString

O padrão OAuth 2.0 permite que tokens sejam enviados tanto pelo cabeçalho HTTP quanto por QueryString para chamadas que utilizam o comando GET. Os dois exemplos demonstram essa equivalência:

 

Envio de tokens através do cabeçalho HTTP:

GET {WSUrl}/api/events HTTP/1.1

 

Host: <nome do servidor>
Authorization: OAuth2 <TOKEN>
Content-Length: 44
Content-Type: application/json

 

Envio de tokens através da QueryString:

{WSUrl}/api/events?access_token=<token>

 

Nota: para utilizar esta funcionalidade, é necessário converter o token gerado previamente com a codificação base64, pois alguns caracteres gerados pelo token não são aceitos. Por exemplo, se a URL com o token for {WSUrl}/api/events?access_token=abcdef=, somente a parte "abcdef" será considerada. Para isso, é necessário fazer uma codificação por cento baseada na tabela abaixo.

Caracteres reservados após codificação por cento

!

#

$

&

'

(

)

*

+

,

/

:

;

=

?

@

[

]

%21

%23

%24

%26

%27

%28

%29

%2A

%2B

%2C

%2F

%3A

%3B

%3D

%3F

%40

%5B

%5D

 

Ou seja, se o token em base 64 possuir qualquer um desses caracteres, os mesmos deverão ser codificados antes de serem usados como parâmetro na URL.