Go to file
Vinzenz Feenstra 4cda61a16a gdm: support pre-authenticated logins from oVirt
oVirt is software for managing medium-to-large scale deployments of
virtual machine guests across multiple hosts. It supports a feature
where users can authenticate with a central server and get
transparently connected to a guest system and then automatically get logged
into that guest to an associated user session.

Guests using old versions of GDM support this single-sign-on capability
by means of a greeter plugin, using the old greeter's extension
API.

This commit adds similar support to the gnome-shell based login screen.

How it works:

* The OVirtCredentialsManager singleton listens for

  'org.ovirt.vdsm.Credentials.UserAuthenticated'

  D-Bus signal on the system bus from the

  'org.ovirt.vdsm.Credentials'

  bus name. The service that provides that bus name is called
  the oVirt guest agent. It is also responsible for interacting
  with the the central server to get user credentials.

* This UserAuthenticated signal passes, as a parameter, the a token
  which needs to be passed through to the PAM service that is specifically
  set up to integrate with the oVirt authentication architecture.
  The singleton object keeps the token internally so it can be queried
  later on.

* The OVirtCredentialsManager emits a signal 'user-authenticated' on
  it's object once the dbus signal is triggered

* When the 'user-authenticated' signal is emitted, the login screen
  tells GDM to start user verification using the PAM service. The
  authentication stack of the service includes a PAM module
  provided by oVirt that securely retrieves user credentials
  from the oVirt guest agent. The PAM module then forwards those
  credentials on to other modules in the stack so, e.g.,
  the user's gnome keyring can be automatically unlocked.

* In case of the screen shield being visible, it also will react on that
  'user-authenticated' signal and lift the shield.
  In that case the login screen will check on construction time if
  the signal has already been triggered, and a token is available.
  If a token is available it will immediately trigger the functionality
  as described above.

Signed-off-by: Vinzenz Feenstra <evilissimo@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=702162
2013-10-14 13:54:30 -04:00
.settings Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
browser-plugin build: Remove -DG_DISABLE_DEPRECATED 2013-08-15 16:06:54 -04:00
data workspaceThumbnail: Drop the _background hack 2013-10-12 14:38:13 -04:00
docs build: Fix linker errors on Debian/Ubuntu 2013-09-06 16:21:55 +02:00
js gdm: support pre-authenticated logins from oVirt 2013-10-14 13:54:30 -04:00
man Document --clutter-display in the man page 2013-05-16 18:43:52 -04:00
po Updated Serbian translation 2013-10-14 10:29:57 +02:00
src shell-global: Use G_VARIANT_TYPE macro for checking 2013-10-14 10:52:45 -04:00
tests st: Remove support for fixed positioning in BoxLayout 2013-07-09 23:19:20 +02:00
tools build: Switch to 3.10 moduleset 2013-08-23 23:40:03 +02:00
.gitignore Update .gitignore 2013-09-12 23:28:37 +02:00
.gitmodules Use libgnome-volume-control from a submodule 2012-12-08 15:53:46 +01:00
.project Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
AUTHORS Initial commit 2008-10-31 04:22:44 +00:00
autogen.sh Use libgnome-volume-control from a submodule 2012-12-08 15:53:46 +01:00
configure.ac build: Bump gjs requirement 2013-10-07 09:37:59 +02:00
COPYING Initial commit 2008-10-31 04:22:44 +00:00
gnome-shell.doap Revert "doap: add myself to doap file" 2013-03-15 14:02:31 -04:00
HACKING popupMenu: Remove our custom allocation code 2013-08-13 06:50:25 -04:00
MAINTAINERS MAINTAINERS: Fix my email address 2011-05-23 09:15:58 -04:00
Makefile.am build: Exclude .gitmodules from distribution 2012-12-18 18:28:42 +01:00
NEWS Bump version to 3.10.0.1 2013-09-24 16:04:57 -04:00
README Add README and DOAP file 2009-09-04 15:23:13 -04:00

GNOME Shell provides core user interface functions for the GNOME 3 desktop,
like switching to windows and launching applications. GNOME Shell takes
advantage of the capabilities of modern graphics hardware and introduces
innovative user interface concepts to provide a visually attractive and
easy to use experience.

For more information about GNOME Shell, including instructions on how
to build GNOME Shell from source and how to get involved with the project,
see:

 http://live.gnome.org/GnomeShell

Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
product.

License
=======
GNOME Shell is distributed under the terms of the GNU General Public License,
version 2 or later. See the COPYING file for details.