Treballar en el subsistema de comptes en línia¶
El subsistema de Comptes en línia consta dels següents components:
La IU dels comptes: proporciona a l’usuari els components que s’enfronten i les classes base per a tota la funció Comptes en línia. Més en detall, trobareu aquests subdirectoris:
click-hooks: els programes s’executen quan s’instal·la o elimina una aplicació Click que fa ús de la funcionalitat de comptes en líniaclient: la biblioteca que les aplicacions del client poden utilitzar per a sol·licitar accés a un compteonline-accounts-services: el servei principal, implementant la lògica per a processar les sol·licituds del client; no té IU (interfície d’usuari), però és capaç d’adjuntar la IUonline-accounts-uia sobre de la IU d’una aplicacióonline-accounts-ui: la interfície d’usuari que apareix quan les aplicacions interactuen amb els comptes en línia (per exemple, el diàleg que apareix quan una aplicació sol·licita accés a un compte)plugins: les classes base i els elements QML que els connectors de compte poden utilitzar en la seva implementaciósystem-settings-plugin: la interfície d’usuari per al plafó Comptes a l’aplicació Configuració del sistema
Els connectors de comptes defineixen els proveïdors de comptes disponibles i implementen la interfície d’usuari i la lògica per crear els comptes
Un conjunt de components del Projecte AccountsSSO: mentre el desenvolupament passa en els projectes ascendents, les bifurcacions d’UBports afegeixen el paquet Debian. Aquests projectes són:
libaccounts-glib: account management API for C/GLib applications
libsignon-glib: authentication API for C/GLib applications
libaccounts-qt: account management API for Qt applications
signond: dimoni d’autenticació, exposant una API D-Bus. Inclou la biblioteca
libsignon-qt, que ofereix una API d’autenticació per a aplicacions Qt)signon-plugin-oauth2 <https://github.com/ubports/signon-plugin-oauth2> : Connector OAuth (1.0 i 2.0) per a signond
)accounts-qml-module <https://github.com/ubports/accounts-qml-module>) API d’autenticació i gestió de comptes, per a aplicacions QML (es pot utilitzar també quan s’implementen connectors de compte)
El servei account-polld, que s’executa en segon pla i comprova cada 5 minuts per a l’activitat del compte nou (l’interval es decideix pel servei Ubuntu Push)
El account-polld-plugins-go, un repositori de connectors per al servei
account-polld. Els connectors d’aquest repositori estan escrits a Go, però els connectors es poden escriure en qualsevol idioma i poden residir en diferents repositoris
Depuració de la vostra aplicació web¶
Problemes de creació de comptes¶
Pot passar que la creació del compte falli, ja sigui per problemes de comunicació amb el servidor remot, o per algun error en el propi connector del compte (això pot passar fàcilment mentre es desenvolupa un connector nou). Per a depurar aquestes situacions, podeu obrir un terminal (és més fàcil si es fa des d’un intèrpret d’ordres remot – podeu guanyar un intèrpret d’ordres al dispositiu utilitzant Accés a la consola via adb o Accés a la consola via adb) i iniciar el online-accounts-service en mode de depuració:
pkill online-accounts-service
OAU_LOGGING_LEVEL=2 OAU_DAEMON_TIMEOUT=9999 online-accounts-service
Si creieu que el problema pot ser causat per alguns errors en la fase d’autenticació, també podeu habilitar l’enregistrament extensiu de signond d’aquesta manera:
pkill signond
export SSO_LOGGING_OUTPUT="stdout" # signond logs to the syslog by default
SSO_LOGGING_LEVEL=2 SSO_DAEMON_TIMEOUT=9999 signond
En aquest punt, repetiu l’operació que estava fallant, i obtindreu tota la sortida de depuració impresa a la consola.