Password-free Log in to Link Account
A typical workflow for linking OTT end-user devices to service accounts includes a login stage where the subscriber must enter a login and password in the SmartTUBE app.
But what if you, as an operator, manage the customer’s home network and know his IP address? In this case, you can implement linking of end-user devices to accounts without a password.
Workflow
The Password-free Log In process is as follows:
- When the customer opens the SmartTUBE app, it sends a request to the SmartTUBE SDP to log in.
- The SmartTUBE SDP checks whether the device UID is present in the DB or was created using a template during authorization:
- If the UID is found, the SmartTUBE SDP allows the device to log in without entering a username and password.
- If not, the SmartTUBE SDP calls the method device_get_info on the OSS side passing the UID and IP of the device.
- The OSS returns the corresponding response to the SmartTUBE SDP:
- If the IP address is successfully recognized by OSS, it returns the login and password of the account, and the SmartTUBE SDP allows the end-user device to log in without entering a login and password.
- If not, OSS returns an error code, and the SmartTUBE SDP asks the subscriber to enter a username and password.
How to Implement
To implement this feature, please follow these steps:
- Add the following setting into the system.conf configuration file of the SmartTUBE SDP:
device.authorize.linkByLoginFromOss.do = true - Implement the device_get_info method on your OSS. See details below.
Method invocation
OSS-side method device_get_info is called using HTTP(-S) GET request. The type of the protocol (HTTP or HTTPS) depends on the server-side settings.
The syntax of the method call is as follows:
http[s]://<server address>:<server port>/<prefix>/device_get_info?<parameter 1>=<value 1>&<parameter 2>=<value 2> …
The <prefix> value depends on the OSS server deployment settings. For example, it can be oss.
Call parameters
Parameter |
Type |
Mandatory? |
Description |
uid |
String |
yes |
Unique ID of the end-user device on the SmartTUBE side |
ip |
String |
yes |
IP address of the end-user device |
Call example
http://10.65.50.54:2222/oss/device_get_info?uid=11:34:65:76:89&ip=10.75.87.90
Return values
If executed successfully, the method returns the following data:
Field |
Description |
code |
Code of method execution result |
message |
Description of error |
logMessage |
Full error description to display in the log |
userMessage |
Error message to display on the end-user device |
info.login |
Service account login |
info.password |
Service account password |
Return example
JSON |
{ “code”:0, “message”:null, “logMessage”:“ok”, “userMessage”:“ok”, “info”: { “login”:“somelogin”, “password”:“somepassword” } } |