| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- #!/usr/bin/env sh
 
- # Here is the script to deploy the cert to your CleverReach Account using the CleverReach REST API.
 
- # Your OAuth needs the right scope, please contact CleverReach support for that.
 
- #
 
- # Written by Jan-Philipp Benecke <[email protected]>
 
- # Public domain, 2020
 
- #
 
- # Following environment variables must be set:
 
- #
 
- #export DEPLOY_CLEVERREACH_CLIENT_ID=myid
 
- #export DEPLOY_CLEVERREACH_CLIENT_SECRET=mysecret
 
- cleverreach_deploy() {
 
-   _cdomain="$1"
 
-   _ckey="$2"
 
-   _ccert="$3"
 
-   _cca="$4"
 
-   _cfullchain="$5"
 
-   _debug _cdomain "$_cdomain"
 
-   _debug _ckey "$_ckey"
 
-   _debug _ccert "$_ccert"
 
-   _debug _cca "$_cca"
 
-   _debug _cfullchain "$_cfullchain"
 
-   _getdeployconf DEPLOY_CLEVERREACH_CLIENT_ID
 
-   _getdeployconf DEPLOY_CLEVERREACH_CLIENT_SECRET
 
-   if [ -z "${DEPLOY_CLEVERREACH_CLIENT_ID}" ]; then
 
-     _err "CleverReach Client ID is not found, please define DEPLOY_CLEVERREACH_CLIENT_ID."
 
-     return 1
 
-   fi
 
-   if [ -z "${DEPLOY_CLEVERREACH_CLIENT_SECRET}" ]; then
 
-     _err "CleverReach client secret is not found, please define DEPLOY_CLEVERREACH_CLIENT_SECRET."
 
-     return 1
 
-   fi
 
-   _savedeployconf DEPLOY_CLEVERREACH_CLIENT_ID "${DEPLOY_CLEVERREACH_CLIENT_ID}"
 
-   _savedeployconf DEPLOY_CLEVERREACH_CLIENT_SECRET "${DEPLOY_CLEVERREACH_CLIENT_SECRET}"
 
-   _info "Obtaining a CleverReach access token"
 
-   _data="{\"grant_type\": \"client_credentials\", \"client_id\": \"${DEPLOY_CLEVERREACH_CLIENT_ID}\", \"client_secret\": \"${DEPLOY_CLEVERREACH_CLIENT_SECRET}\"}"
 
-   _auth_result="$(_post "$_data" "https://rest.cleverreach.com/oauth/token.php" "" "POST" "application/json")"
 
-   _debug _data "$_data"
 
-   _debug _auth_result "$_auth_result"
 
-   _regex=".*\"access_token\":\"\([-._0-9A-Za-z]*\)\".*$"
 
-   _debug _regex "$_regex"
 
-   _access_token=$(echo "$_auth_result" | _json_decode | sed -n "s/$_regex/\1/p")
 
-   _info "Uploading certificate and key to CleverReach"
 
-   _certData="{\"cert\":\"$(_json_encode <"$_cfullchain")\", \"key\":\"$(_json_encode <"$_ckey")\"}"
 
-   export _H1="Authorization: Bearer ${_access_token}"
 
-   _add_cert_result="$(_post "$_certData" "https://rest.cleverreach.com/v3/ssl" "" "POST" "application/json")"
 
-   _debug "Destroying token at CleverReach"
 
-   _post "" "https://rest.cleverreach.com/v3/oauth/token.json" "" "DELETE" "application/json"
 
-   if ! echo "$_add_cert_result" | grep '"error":' >/dev/null; then
 
-     _info "Uploaded certificate successfully"
 
-     return 0
 
-   else
 
-     _debug _add_cert_result "$_add_cert_result"
 
-     _err "Unable to update certificate"
 
-     return 1
 
-   fi
 
- }
 
 
  |