Description
Gets the JWT token using the POST method.
Applies to
Syntax
objectname.GetJWTToken (string urlName, string data, ref string token)
Argument |
Description |
---|---|
objectname |
The name of the RESTClient object from which you want to get the JWT token. |
urlName |
A string value specifying the URL. |
data |
A string value specifying the data to send. If the user sets the encoding charset in the Content-Type request header, this function will encode the data with the specified charset; if charset is not specified, this function will encode the data in UTF-8 by default. |
token |
The server response which contains the access token. If RESTClient failed to send request or server provides no response, the response value is an empty string. If the response value is compressed as gzip, it will be automatically decompressed. Only gzip compression format is supported at this moment. If the server specified the Content-Type response header, and in which the encoding charset is specified, this function will encode the data with the specified charset; if charset is not specified, this function will encode the data in UTF-8 by default. |
Return value
Integer. Returns 1 if the function succeeds and a negative value if an error occurs. If any argument's value is null, the method returns null.
1 -- Success
-1 -- General error
-2 -- Invalid URL
-3 -- Cannot connect to the Internet
-4 -- Timeout
-5 -- Failed to get token.
-7 -- Failed to decompress data
-14 -- Code conversion failed
-15 -- Unsupported character set
-33 -- TLS 1.3 error. The client does not support TLS 1.3.
-34 -- Response is unrecognizable. Normally this is because the HTTP version does not match with the version required by the server.
-35 -- TLS 1.3 error. The server does not support TLS 1.3.
Example 1
The following code example gets the data that requires JWT token authentication.
String ls_P028_JWTToken Integer li_P028_GetJWTTokenReturn RestClient lrc_P028 lrc_P028 = Create RestClient lrc_P028.SetRequestHeaders( "Content-Type:application/json;charset=UTF-8~r~nAccept-Encoding:gzip" ) //Sets the request header //Gets the JWT token. The second parameter provides the value according to the token server request. li_P028_GetJWTTokenReturn=lrc_P028.GetJWTToken("https://demo.appeon.com/pb/jwt/HSExample/api/values/GetToken", '{"Username":"user1","Password":"password1"}', ls_P028_JWTToken) If li_P028_GetJWTTokenReturn = 1 Then //Sets the JWT token lrc_P028.SetJwtToken( ls_P028_JWTToken) //Retrieves data for dw_Data lrc_P028.retrieve( dw_Data, "https://demo.appeon.com/pb/jwt/HSExample/api/department/retrieve") Else //Prints the GetJWTToken error message if any End If
Example 2
The following code example gets the data that requires JWT token authentication.
String ls_P028_JWTToken Integer li_P028_GetJWTTokenReturn JsonPackage ljpk_JWTINF ljpk_JWTINF =Create JsonPackage RestClient lrc_P028 lrc_P028 = Create RestClient lrc_P028.SetRequestHeaders( "Content-Type:application/json;charset=UTF-8~r~nAccept-Encoding:gzip" ) //Sets the request header //Gets the JWT token. The second parameter provides the value according to the token server request. li_P028_GetJWTTokenReturn=lrc_P028.GetJWTToken("https://demo.appeon.com/pb/jwt/HSExample/api/values/Authenticate", '{"Username":"user1","Password":"password1"}', ls_P028_JWTToken) If li_P028_GetJWTTokenReturn = 1 Then //If the token server returns the token as well as other information, gets the token first and then provides it to RestClient //in this example, the token server returns a JSON string which contains token, therefore, gets the token via the following scripts ljpk_JWTINF.Loadstring( ls_P028_JWTToken) If ljpk_JWTINF.ContainsKey( "token" ) Then ls_P028_JWTToken = ljpk_JWTINF.GetValueString( "token" ) End If //Sets the JWT token lrc_P028.SetJwtToken( ls_P028_JWTToken) //Retrieves data for dw_Data lrc_P028.retrieve( dw_Data, "https://demo.appeon.com/pb/jwt/HSExample/api/department/retrieve") Else //Prints the GetJWTToken error message if any End If
See also