Add a PolicyKit authentication agent
A PolicyKit Authentication Agent is a construct used to authenticate one or more identities. See the PolicyKit documentation for more details on authentication agents and how PolicyKit works: http://hal.freedesktop.org/docs/polkit/ Since gjs does not support subclassing a GObject class from Javascript code, we bring in a native class to bridge the VFuncs to GObject signals. Additionally, this native class also queues up authentication requests so the user of the native class only has to deal with a single outstanding request at any one time. The file js/ui/polkitAuthenticationAgent.js introduces a singleton that listens for authentication requests via the native class. This singleton uses the PolkitAgent machinery to do the actual heavy-weight lifting required for authentication (essentially a PAM conversation). We currently don't allow the user to pick the identity to be authenticated. https://bugzilla.gnome.org/show_bug.cgi?id=642886 Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
@ -23,6 +23,7 @@ const _ = Gettext.gettext;
|
||||
const Chrome = imports.ui.chrome;
|
||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||
const EndSessionDialog = imports.ui.endSessionDialog;
|
||||
const PolkitAuthenticationAgent = imports.ui.polkitAuthenticationAgent;
|
||||
const Environment = imports.ui.environment;
|
||||
const ExtensionSystem = imports.ui.extensionSystem;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
@ -183,6 +184,9 @@ function start() {
|
||||
// initiate logouts.
|
||||
EndSessionDialog.init();
|
||||
|
||||
// Attempt to become a PolicyKit authentication agent
|
||||
PolkitAuthenticationAgent.init()
|
||||
|
||||
global.gdk_screen.connect('monitors-changed', _relayout);
|
||||
|
||||
ExtensionSystem.init();
|
||||
|
Reference in New Issue
Block a user