SelfReg - SelfReg.Send_Request
The SelfReg.Send_Request method is used to send an one-time registration link to the specified user.
The only required parameter is the username of the LDAP user to which the registration link is sent.
The optional parameters are the domain, the application, the item, the method, expires and the comments. A domain is required if no default domain is set. The method can have 4 values :
MAIL: The password reset link is sent via an email message.SMS: The password reset link is snet via a SMS message.MAILSMS: Both an email and a SMS message are sent.NONE: The URL is returned but not sent via Mail/SMS.
If not set, the method defaults to the 'Link Delivery Mode' setting.
If application is set then the registration functionalities are limited to the specified application, which can be OpenOTP, SpanKey or PKI.
The item indicates which item is to be registered : Token [1-3], FIDO, PINCode, AppKeys or OTPList. By default, when item is not set, any item can be registered.
If expires is set, then its calue must be between 1 and 720 hours.
If a comments is specified, then it is added to the message template.
This method returns the HTTP link on success and false on error.
import requests
import json
# Define the method and parameters
method = 'SelfReg.Send_Request'
params = {
'username': 'Jane Doe',
'domain': 'RCDEVSDOCS',
'method': 'MAILSMS',
'application': 'OpenOTP',
'item': 'Token2',
'expires': 72,
'comments': 'This is a message generated with an API'
}
# 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 = 'SelfReg.Send_Request';
$params = array(
'username' => 'Jane Doe',
'domain' => 'RCDEVSDOCS',
'method' => 'MAILSMS',
'application' => 'OpenOTP',
'item' => 'Token2',
'expires' => 72,
'comments' => 'This is a message generated with an API'
);
$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 = 'SelfReg.Send_Request'
$params = @{
username = 'Jane Doe'
domain = 'RCDEVDOCS'
method = 'MAILSMS'
application = 'OpenOTP'
item = 'Token2'
expires = 72
comments = 'This is a message generated with an API'
}
# 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