OAuth2WebClient (FB)ΒΆ

FUNCTION_BLOCK OAuth2WebClient

Function block to a send a request via 2 legged OAuth2 authentication. Supported request types (flows): client_credentials and password.

InOut:

Scope

Name

Type

Initial

Comment

Input

xExecute

BOOL

Rising edge: Send request

udiTimeOut

UDINT

Timeout in micro seconds

sURL

STRING(1024)

URL of the web server (resource server)

eRequestType

REQUEST_TYPE

REQUEST_TYPE.GET

Type of the request: POST or GET

eContentType

CONTENT_TYPE

CONTENT_TYPE.APPLICATION_FORM

HTTP Content-Type of the request

pwsAdditionalHeader

POINTER TO WSTRING

Additional HTTP header

pwsPostValue

POINTER TO WSTRING

Post parameter

sAuthorizationServerURL

STRING(1024)

URL of authorization server

pwsAdditionalAuthenticationHeader

POINTER TO WSTRING

Additional Auth HTTP header

itfOAuth2Credentials

IOAuth2Credentials

OAuth2 credentials

xCloseConnection

BOOL

FALSE

Close the connection after each request.

itfTLSContext

NBS.ITLSContext

0

Encapsulates all the data neccecray to handle encrypted tcp connections

Static initialization, as shown in the following code snippet.

VAR
    commonName : STRING := 'MyRrasPi';
    ciCertInfo : NBS.CERT_INFO := (psInfo:=ADR(commonName), udiSize:=LEN(commonName));
    myTLSContext : NBS.TLSContext := (
        ePurpose:=NBS.PURPOSE.CLIENT_SIDE,
        sUseCaseName:='NBSTest',
        sTLSVersion:='1.3',
        ciCertInfo:=ciCertInfo,
        udiVerificationMode:=2
    );
END_VAR

itfAsyncProperty

NBS.IAsyncProperty

0

Runs the connect process in a own background task, usage see library Net Base Services

Output

xDone

BOOL

xBusy

BOOL

xError

BOOL

eError

ERROR

Current error state

httpResult

HttpResult

The result of the request

Methods:

Structure: