After you have installed your node pico engine (see Pico Engine Quickstart for instructions), you begin to operate it. Anyone who can access the URL of your engine has full access to all of the picos hosted on your engine.
You may wish to require a password-protected login. This functionality is built in to the engine, starting at version 0.12.9, and is described here.
Principles of operation
With account management, each immediate child pico of the Root Pico becomes an Owner Pico. The name of each Owner Pico becomes the "owner identifier" and is associated with an authentication method by a ruleset which is installed in the Root Pico. An associated ruleset must be installed in each owner pico.
The developer UI identifies the currently logged-in owner pico by having its pico identifier saved in the JavaScript-provided sessionStorage
using the key owner_pico_id
.
With an account management ruleset installed in the Root Pico, the UI will require login to access either the Root Pico or any of the registered owner picos. The UI provides a two-step interface for login, with an initial form requesting entry of the owner id, and a second form requesting entry of the associated password.
Login form
Password form
Code words form
The UI provides a second method of authentication, via "code words". If an owner elects to use this method, then when she has entered her owner id, she will be presented with this form.
A person who wishes to become an owner on your pico engine will click on the link "Need an owner pico?" whereupon he will be presented with this sign-up form.
He will enter the desired name of his owner pico which will also serve as his owner id, and then select an authentication method.
Since John has chosen "code words" as his authentication method, he will be presented with this information, which he must save for future logins.
It is up to you to provide both the account management ruleset for the Root Pico, and an associated account ruleset for the owner picos. We'll show you how these rulesets can be written.
Account Management ruleset
The account management ruleset must react to these events:
owner:creation
owner:eci_requested
information:child_deleted
Account ruleset
The account ruleset must react to these events:
owner:admin
owner:creation
owner:eci_provided
owner:authenticate
owner:code_presented
In addition, it may share this function:
method
--more details forthcoming--