Niektóre serwisy i urządzenia wymagają, by przesyłane zapytania zawierały w nagłówku parametr content-type ustawiony jako application/x-www-form-urlencoded.


 

Taka sytuacja ma miejsce między innymi w przypadku integracji z zamkiem Tedee, gdzie w celu uzyskania tokenu należy wysłać następujące zapytanie:

POST https://tedee.b2clogin.com/tedee.onmicrosoft.com/B2C_1_SignIn_Ropc/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

grant_type=password
&client_id=02106b82-0524-4fd3-ac57-af774f340979
&scope=openid 02106b82-0524-4fd3-ac57-af774f340979
&response_type=token
&username={username}
&password={password}


UWAGA! W miejsce {username} oraz {password} należy wpisać odpowiednie dane.



W takiej sytuacji ustawienia obiektu wirtualnego HttpRequest powinny wyglądać następująco:


Natomiast skrypt ustawiający zawartość cechy RequestBody przedstawia się jak poniżej:

local get_key = {"&grant_type=password&client_id=02106b82-0524-4fd3-ac57-af774f340979&scope=openid+02106b82-0524-4fd3-ac57-af774f340979&response_type=token&username=support%40grenton.com&password=support"}

Gate_HTTP->TedeeLock_AuthorizationKey->SetRequestBody(get_key)


UWAGA! Należy zauważyć, że przed parametrem grant_type pojawił się znak &.



Przy ustawianiu wartości cechy RequestBody należy pamiętać o znakach specjalnych wymagających zakodowania:

:/
?
#
[
]
@
!
$
&
'
(
)
*
+
,
;
=
%
 spacja
%3A
%2F
%3F
%23
%5B
%5D
%40
%21
%24
%26
%27
%28
%29
%2A
%2B
%2C
%3B
%3D
%25
+


UWAGA! Niezakodowane znaki & oraz = rozdzielają parametry i ich wartości.