Lianja
Lianja
REST Basic Auth with Secure Strings
Demonstrates how to do REST Basic authentication using secure strings.This example requires Chilkat v9.5.0.71 or greater.
Chilkat Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Imagine we've previously saved our encrypted login and password within a JSON config file
// that contains this:
// {
// "http_login": "mCrOmA7mBA7Au9RuJGb9hw==",
// "http_password": "jJtiI9TgErTTpqBz9JtHBw=="
// }
loJson = createobject("CkJsonObject")
loJson.LoadFile("qa_data/passwords/http.json")
loCrypt = createobject("CkCrypt2")
// These are the encryption settings we previously used to encrypt the credentials within the JSON config file.
loCrypt.CryptAlgorithm = "aes"
loCrypt.CipherMode = "cbc"
loCrypt.KeyLength = 128
loCrypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex")
loCrypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex")
loCrypt.EncodingMode = "base64"
loSsLogin = createobject("CkSecureString")
loSsPassword = createobject("CkSecureString")
// Decrypt to the secure string. (the strings will still held in memory encrypted, but are now encrypted using
// a randomly generated session key.)
loCrypt.DecryptSecureENC(loJson.StringOf("http_login"),loSsLogin)
loCrypt.DecryptSecureENC(loJson.StringOf("http_password"),loSsPassword)
loRest = createobject("CkRest")
// Connect to a REST server.
llBTls = .T.
lnPort = 443
llBAutoReconnect = .T.
llSuccess = loRest.Connect("chilkatsoft.com",lnPort,llBTls,llBAutoReconnect)
// Cause the "Authorization: Basic ..." header to be added to HTTP requests
loRest.SetAuthBasicSecure(loSsLogin,loSsPassword)
lcResponseJson = loRest.FullRequestNoBody("GET","/helloWorld.html")
if (loRest.LastMethodSuccess <> .T.) then
? loRest.LastErrorText
release loJson
release loCrypt
release loSsLogin
release loSsPassword
release loRest
return
endif
// Show the LastRequestHeader that was sent.
? loRest.LastRequestHeader
// The LastRequestHeader looks like this:
// Host: chilkatsoft.com
// Authorization: Basic bXlIdHRwTG9naW46bXlIdHRwUGFzc3dvcmQ=
release loJson
release loCrypt
release loSsLogin
release loSsPassword
release loRest