To create an account with BOINC projects, a participant must:
- Locate BOINC project web sites, e.g. using Google.
- Read the web sites, and decide which to join;
- Download and install the BOINC client software.
and then for each selected project:
- Go through the Attach to Project wizard.
If the participant chooses N projects,
there are N web sites to visit and N Wizards to complete.
This is tedious if there are lots of projects.
This document describes BOINC's support for account management systems,
which streamline the process of finding and joining BOINC projects.
A typical account management system is implemented as a web site.
The participant experience is:
- Visit the account manager site,
set up a 'meta-account' (name, email, password),
browse a list of projects, and click checkboxes to select projects.
- Download and install the BOINC client software from the account manager.
- Enter the meta-account name and password in a BOINC client dialog.
This requires many fewer interactions than the manual approach.
Implementation
An account management system works as follows:
- The participant sets up his meta-account and selects projects.
- The account manager issues a create account RPC
to each selected project.
-
the participant downloads and installs the BOINC client software
from the account manager.
The install package includes a file
(specific to the account manager)
containing the URL of the account manager.
- The BOINC client runs, and asks the participant to enter
the name and password of his meta-account.
- The BOINC client does a query accounts RPC
to the account manager, obtaining a list of accounts.
It then attaches to these accounts and proceeds.
The create account RPCs
are described here.
Core client functionality
The BOINC core client uses the following files to
keep track of account manager information.
-
acct_mgr_url.xml
-
This file identifies the account manager.
It is typically bundled with the BOINC client in
an installer package.
Its format is:
".html_text("
Name of BOINC account management system
http://acctmgr.com/
")."
Note: the URL is that of the account manager's web site.
-
acct_mgr_login.xml
-
This file contains meta-account information.
Its format is:
".html_text("
name
xxx
")."
The password is stored as MD5(password_lowercase(login)).
If the core client finds acct_mgr_url.xml but not acct_mgr_login.xml,
it prompts for a name and password,
stores them in acct_mgr_login.xml,
and makes an account manager RPC.
The core client offers menu items for making an account manager RPC,
and for changing the name/password.
Account manager RPC
The core client contacts the account manager
using an HTTP POST request.
";
list_start();
list_item("URL", "BASE_URL/rpc.php, where BASE_URL is the URL
of the account manager web site.");
list_item("input", html_text("
John
xxx
b11ddc5f36c9a86ff093c96e6930646a
5.3.2
auto
http://setiathome.berkeley.edu/
SETI@home
0
...
")
);
list_item("output",
html_text("
Account Manager Name
1024
ae843acebd4c7250b0fa575d14971b17a56a386a6bb1733d98f4b00460c26159
c8b3217e6cdff938ec0454330c70553fbe3d1f0d0184d8c628db2e093121ee98
8ddbda6e8991879317afccab41f84e9de4903a656f4d3f3e4e7dbc0af9362a05
6ece5ff401a380f3a1d1254d477f7bc84fdcebcca6cb035e776452d3d6d21471
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010001
.
[ MSG ]
[ xxx ]
[
URL
397d250e02ec02be8141b8d196a118d909d5ec73e592ed50f9d0ad1ce5bf87de
e37f48079db76128b20f913a04e911489330a7cab8c346177f1682d236bc7201
42b32665d0d83474bf12aebd97b2bb9a4c4461fa3f0b49bbd40ecfa16715ced7
f72103eb0995be77cac54f253c0ba639a814d3293646ae11894e9d1367a98790
.
KEY
[ ]
...
]
")
);
list_item("action",
"Returns a list of the accounts associated with this meta-account.
The arguments are:
- password_hash
-
the account password, hashed as MD5(password_lowercase(name)).
- host_cpid
-
Identifies the host.
To make it comparable with the host CPID in stats files,
the value MD5(host_cpid+email_addr) is passed.
The return values are:
- repeat_sec
-
A time interval after which another RPC should be done.
- signing_key
-
The public key used to sign URLs, in an encoded notation.
Use the BOINC crypt_prog program to generate this.
For each account, the following items are returned:
- url
- The project URL
- url_signature
- A signature for the URL.
Use the BOINC crypt_prog program to generate this.
- authenticator
- The account's authenticator.
- detach
- If present, the client should detach this project.
NOTE: the XML must be as above, with the <url>
and <authenticator> elements on a single line,
and the <account> and </account> tags
on separate lines."
);
list_end();
page_tail();
?>