Request
When the CRM creates an account in OpenTV Platform, it should use the preHashedPassword endpoint, which requires a pre-hashed and salted password and the salt that was used.
To do this, the CRM should send a POST request to:
https://<host>:<port>/adm/v1/accounts/preHashedPassword
In deployments that use NAGRA's Security Services Platform (SSP), this request must be made twice – once to OPF, and once to SSP.
The URLs of the two endpoints will be provided to you by NAGRA.
Headers
-
x-correlation-id– identifier for logging, to correlate messages across a call flow -
Authorization– bearer token obtained in Getting an access token -
nv-tenant-id– the tenant ID -
Content-Type: application/json
Mandatory arguments
All the following arguments are in the request body:
-
accountProfileId– the ID of the account profile to be applied to the account. Account profiles are created by NAGRA.
You can see the configured account profiles in OpCon. -
npvrProfileName– the User Recordings (NPVR) profile to be applied to the account. See Updating recording settings. -
billingAddress– the billing address of the account. This field is mandatory, but may be left blank. -
pvrStatus– enables or disables NPVR (ENABLEDorDISABLED). -
signonId– sign-on ID. This must be the user's email address. -
password– the hashed and salted password
Note: The CRM must use the following password hashing configuration:-
Algorithm: pkcs5_pbkdf2
-
Hashed password byte length: 320
-
Iterations: 20000
-
SHA strength: hmac_sha1
-
-
salt– the Base64-encoded byte-array salt used during the password salting process -
geoBlockExempt– must be set tofalse(otherwise filtering will not work).
Other arguments
See /accounts/preHashedPassword in the ADM API documentation.
Response
A successful request returns an HTTP 201 status.
A bad request returns an HTTP 400 status.
A request with an invalid token returns an HTTP 403 status.
If the tenant or account does not exist, the request returns an HTTP 404 status.
Example
A successful request returns the account ID (which is created by OpenTV Platform if not specified in the request):
{
"_id": "string"
}
See also
For full details of this API, see the ADM API documentation.