System actorsLogin Actor

Login Actor

A login actor helps managing the users' actor groups. Users can create an account with the login actor, who will provide a managed actor which users can attach to their actor group.

Whenever users replace their devices, they can authenticate with the login actor and recover their data.

By design, the managed actor holds a copy of the user's group data. The login actor must therefore be run on a trusted system outside a datacenter.

Authenticating with the login actor

To start the authentication process, send the following message to the login server:

request code
phone
phone
TEXT
language
optional
language
TEXT
auto detection code
optional
auto detection code
TEXT

The phone number must be provided in international notation (+12345678...), without spaces or other separators.

The login actor sends an SMS message in the selected language with a 6-digit code to this phone number.

If present, the auto detection code is added to the SMS message. This enables some phones to pass the text message to the application which requested the code.

The login actor replies with the following message:

sending code
request
request message hash
32 BYTES
ok
upon success only
error
upon failure only
ERROR
TEXT

Once the SMS has been received, the application sends the following message to the login server:

join
phone
phone
TEXT
code
code
TEXT

The phone number must be the same as submitted when requesting a code.

The code is the 6-digit code received by SMS, without spaces or other separators.

Joining the actor group

If the code is correct, the login actor runs the actor associated with that phone number (or creates a new actor, if none exists), and joins the senders actor group. It then replies with the actor hash and store URL of the managed actor:

joining
hash
empty # actor hash
HASH
store
store URL
TEXT

To complete the operation, the sender must add the managed actor to its actor group. The managed actor should be listed as inactive member with group data sharing, also known as backup member. The actor will not receive group messages, but will keep a copy of the group data.

If the submitted code is incorrect, the login actor replies with the following message:

joining
error
error message
TEXT

Configuring the login actor

Before run the login actor, the following must be configured or implemented: