Sample code for 30+ languages & platforms
Xbase++

Configure OAuth 2.0 Authentication for REST

See more REST Examples

Demonstrates Rest.SetAuthOAuth2, which associates an OAuth2 provider containing a valid access token so Chilkat adds the bearer token to the Authorization header.

Background. OAuth 2.0 bearer-token authentication attaches the access token to each request. The token is typically obtained separately through an OAuth 2.0 authorization flow before being assigned to the provider.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oRest
LOCAL nBTls
LOCAL nBAutoReconnect
LOCAL oOauth2
LOCAL cResponseText

nSuccess := 0

oRest := CreateObject("Chilkat.Rest")
nBTls := 1
nBAutoReconnect := 1
nSuccess := oRest:Connect("example.com", 443, nBTls, nBAutoReconnect)
IF (nSuccess == 0)
    ? oRest:LastErrorText
    oRest:destroy()
    RETURN
ENDIF

//  Configure OAuth 2.0 bearer-token authentication.  The provider must contain a valid access token.
oOauth2 := CreateObject("Chilkat.OAuth2")
//  Normally you would not hard-code secrets in source.  You should instead obtain them from an
//  interactive prompt, environment variable, or a secrets vault.
oOauth2:AccessToken := "OAUTH2_ACCESS_TOKEN"

//  Associate the provider so Chilkat adds the bearer token to the Authorization header.
nSuccess := oRest:SetAuthOAuth2(oOauth2)
IF (nSuccess == 0)
    ? oRest:LastErrorText
    oRest:destroy()
    oOauth2:destroy()
    RETURN
ENDIF

cResponseText := oRest:FullRequestNoBody("GET", "/api/resource")
IF (oRest:LastMethodSuccess == 0)
    ? oRest:LastErrorText
    oRest:destroy()
    oOauth2:destroy()
    RETURN
ENDIF

? cResponseText

oRest:destroy()
oOauth2:destroy()