The OpenOTP.OCRA_Resync_Time method is used to resynchronize the OCRA token with timestamp. This re-synchronization method is for time-based OCRA Suites, it computes and stores the time drift between the server and the token.

The required parameters are the dn of the LDAP user with the token and you must provide the current and accurate otp value on the token, but also the challenge.
The only optional parameter is the id that indicates which token is resynced with this action.

This method returns true on success and false on error.


import requests
import json

# Define the method and parameters
method = 'OpenOTP.OCRA_Resync_Time'
params = {
    'dn': 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com',
    'otp': 039941,
    'challenge': '09873498',
    'id': 1
}

# Create the request payload
request_payload = {
    'jsonrpc': "2.0",
    'method': method,
    'params': params,
    'id': 0
}

# Convert payload to JSON
json_payload = json.dumps(request_payload)

# Define the URL and credentials
url = "https://webadm1.rcdevsdocs.com/manag/"
auth = ("RCDEVSDOCS\\administrator", "password")

# Define the headers
headers = {
    "Content-Type": "application/json",
    "Connection": "close"
}

# Make the POST request
response = requests.post(url, data=json_payload, headers=headers, auth=auth, verify=False)

# Print the HTTP response code and response content
print(f"HTTP response code: {response.status_code}")
print(response.json())
    

<?php
$method = 'OpenOTP.OCRA_Resync_Time';
$params = array(
    'dn' => 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com',
    'otp' => 039941,
    'challenge' => '09873498',
    'id' => 1
);

$request = array(
    'jsonrpc' => "2.0",
    'method' => $method,
    'params' => $params,
    'id' => 0
);
$json = json_encode($request);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://webadm1.rcdevsdocs.com/manag/");
curl_setopt($ch, CURLOPT_USERPWD, "RCDEVSDOCS\\administrator:password");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("connection: close"));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$out = curl_exec($ch);
curl_close($ch);

print_r(json_decode($out));
?>
    

# Define the method and parameters
$method = 'OpenOTP.OCRA_Resync_Time'
$params = @{
    dn = 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com'
    otp = 039941
    challenge = '09873498'
    id = 1
}

# Create the request payload
$requestPayload = @{
    'jsonrpc' = '2.0'
    'method' = $method
    'params' = $params
    'id' = 0
}

# Convert the request payload to JSON
$jsonPayload = $requestPayload | ConvertTo-Json

# Define the URL and credentials
$url = "https://webadm1.rcdevsdocs.com/manag/"
$auth = "RCDEVSDOCS\administrator:password"

# Make the POST request
$response = Invoke-RestMethod -Uri $url -Method Post -Body $jsonPayload -Headers @{ "Content-Type" = "application/json" } -Credential (New-Object System.Management.Automation.PSCredential($auth, (ConvertTo-SecureString "password" -AsPlainText -Force))) -SkipCertificateCheck

# Output the response
Write-Host "HTTP Response Code: $($response.status_code)"
Write-Host $response | ConvertTo-Json