Skip to content
This repository was archived by the owner on Sep 23, 2021. It is now read-only.

Commit af03b5b

Browse files
committed
docs(use-case): add deeplink info
Signed-off-by: Naylin Medina <[email protected]>
1 parent 1a6fe9f commit af03b5b

File tree

1 file changed

+48
-10
lines changed

1 file changed

+48
-10
lines changed

source/use-cases/enrollment-process.rst

+48-10
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,30 @@ Enrollment process
33

44
Enrollment requests
55
~~~~~~~~~~~~~~~~~~~
6-
The guest user enrolls himself using a deeplink sent by email. They both contain the same useful data to build several HTTP requests.
76

8-
The user token is a token to authenticate against the REST API. When an administrator invites someone to enroll his devices, an account is created. The login is the email address provided by the administrator. The user API token is unique among all user accounts. Using it alone is sufficient to get a session, as described in GLPI documentation.
7+
The guest user enrolls himself using a QR code or a deeplink sent by email. They both contain
8+
the same useful data to build several HTTP requests.
9+
10+
The user token is a token to authenticate against the REST API. When an administrator invites someone to enroll his devices,
11+
an account is created. The login is the email address provided by the administrator.
12+
13+
The user API token is unique among all user accounts. Using it alone is sufficient to get a session, as described in GLPI documentation.
914

1015
The invitation token is a hash with limited lifetime to identify the invitation being used at enrollment time.
1116

12-
After the enrollment the agent must connect to the MQTT broker. The serial of the device and the password sent by the backend in the enrollment process are the credentials.
17+
After the enrollment the agent must connect to the MQTT broker. The serial of the device and the password sent
18+
by the backend in the enrollment process are the credentials.
1319

14-
Content in the deeplink
15-
~~~~~~~~~~~~~~~~~~~~~~~
20+
Deeplink
21+
~~~~~~~~
22+
23+
`Flyve MDM Deeplink <https://github.com/flyve-mdm/deeplink>`_, is a microservice hosted by us, that generates a deeplink with
24+
the information of the invitation to perform the enrollment of the device.
25+
26+
The organizations have the option to set up their own instance of Flyve MDM Deeplink, in order to manage by themselves this microservice.
27+
28+
Content
29+
#######
1630

1731
The deeplink contains some base64 encoded semicolon separated fields like a CSV format:
1832

@@ -24,13 +38,32 @@ The deeplink contains some base64 encoded semicolon separated fields like a CSV
2438
* the website of the company's helpdesk
2539
* the email of the company's helpdesk
2640

27-
All fields related to the helpdesk may be not populated by the administrators. The fields are ordered.
28-
29-
The URL of the backend is the base for requests built by the client, which must be suffixed by the endpoint to reach. See the `GLPI documentation <https://github.com/glpi-project/glpi/blob/master/apirest.md>`_ to know more about the rest API of GLPI.
41+
All fields related to the helpdesk may not be populated by the administrators. The fields are ordered.
3042

3143
.. code :: http
3244
33-
http://api.domain.com/aHR0cDovL2FwaS5kb21haW4uY29tLzs0NWVyamJ1ZGtscTU4NjVzZGtqaGprcztsa2hqZmtnc2RmNTQ2NjM0cztjb21wYW55J3MgaGVscGRlc2s7MDMzMTIzNDU2Nzg5O2h0dHBzOi8vc3VwcG9ydC5jb21wYW55LmNvbTtzdXBwb3J0QGNvbXBhbnkuY29t
45+
http://api.domain.com/deeplink/?data=aHR0cDovL2FwaS5kb21haW4uY29tLzs0NWVyamJ1ZGtscTU4NjVzZGtqaGprcztsa2hqZmtnc2RmNTQ2NjM0cztjb21wYW55J3MgaGVscGRlc2s7MDMzMTIzNDU2Nzg5O2h0dHBzOi8vc3VwcG9ydC5jb21wYW55LmNvbTtzdXBwb3J0QGNvbXBhbnkuY29t
46+
47+
Uses
48+
#######
49+
50+
* Email account
51+
52+
When the invitation is opened from the email account of the user in the respective device to enroll, the email will
53+
display the deeplink with the information of the invitation encoded. Also the QR code image is attached.
54+
55+
After tapping the link, the MDM Agent will recognize it and start the enrollment.
56+
57+
* Computer browser
58+
59+
The deeplink can also be opened in a computer's browser, in this case the deeplink will decode part of the
60+
information and display the Helpdesk information and the QR code, so the user can scan it
61+
from the MDM Agent and make the enrollment.
62+
63+
* Mobile device browser
64+
65+
In case the invitation is opened with the browser of the device, it will display a button that contains
66+
the deeplink so the MDM Agent can recognize it and start the enrollment.
3467

3568
Obtaining a session token
3669
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -53,6 +86,11 @@ Answer:
5386
"session_token": "83af7e620c83a50a18d3eac2f6ed05a3ca0bea62"
5487
}
5588
89+
.. note ::
90+
91+
The URL of the backend is the base for requests built by the client, which must be suffixed by the endpoint to reach.
92+
See the `GLPI documentation <https://github.com/glpi-project/glpi/blob/master/apirest.md>`_ to know more about the rest API of GLPI.
93+
5694
Check the current profile
5795
~~~~~~~~~~~~~~~~~~~~~~~~~
5896

@@ -249,7 +287,7 @@ Answer if the request succeeds
249287

250288
The property certificate in the JSON payload is the certificate delivered to the agent if the client certificate feature is enabled.
251289

252-
* **api_token**: to consume API from GLPI. Used to downlaod files and applications from HTTP(S).
290+
* **api_token**: to consume API from GLPI. Used to download files and applications from HTTP(S).
253291
* **mqttpasswd**: password to access MQTT. Login is the serial of the device.
254292

255293
The api_token delivered by this request replaces the user_token used in the first request **initSession**. The agent must forget the user_token and save for later use the api_token received from this request.

0 commit comments

Comments
 (0)