The Link_Inventory_Item
method is used to link or unlink an item to an LDAP user.
It requires the type
and reference
of the concerned item.
You can also specify the user dn
to whom you want to link the item. If no dn
is specified, the item will be unlinked.
Note that unlinking an item through the Manager API or the WebADM Administrator Portal does not remove the token information from the user account. The link serves to prevent the assignment of a hardware token or device that is already assigned to another user. This link can be removed to disable this protection.
The method returns true
on success and false
on error.
import requests
import json
# Define the method and parameters
method = 'Link_Inventory_Item'
params = {
'type': 'OTP Token',
'reference': '1916017506',
'dn': 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com'
}
# 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
#!/bin/php
$method = 'Link_Inventory_Item';
$params = array(
'type' => 'OTP Token',
'reference' => '1916017506',
'dn' => 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com'
);
$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 = 'Link_Inventory_Item'
$params = @{
type = 'OTP Token'
reference = '1916017506'
dn = 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com'
}
# 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