After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 679253 - Support Kerberos identities
Support Kerberos identities
Status: RESOLVED FIXED
Product: gnome-online-accounts
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GNOME Online Accounts maintainer(s)
GNOME Online Accounts maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-07-02 11:28 UTC by Matthias Clasen
Modified: 2012-08-20 23:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Allow for transient, "non-permanent" accounts (24.59 KB, patch)
2012-08-19 04:24 UTC, Ray Strode [halfline]
none Details | Review
Add new "Ticketing" interface (1.96 KB, patch)
2012-08-19 04:24 UTC, Ray Strode [halfline]
none Details | Review
daemon: Add kerberos renewal service (346.84 KB, patch)
2012-08-19 04:24 UTC, Ray Strode [halfline]
none Details | Review
goabackend: Add a kerberos provider (65.47 KB, patch)
2012-08-19 04:24 UTC, Ray Strode [halfline]
none Details | Review
Allow for transient, "non-permanent" accounts (25.17 KB, patch)
2012-08-20 21:52 UTC, Ray Strode [halfline]
committed Details | Review
Add new "Ticketing" interface (1.96 KB, patch)
2012-08-20 21:52 UTC, Ray Strode [halfline]
committed Details | Review
daemon: Add kerberos renewal service (372.58 KB, patch)
2012-08-20 21:52 UTC, Ray Strode [halfline]
needs-work Details | Review
goabackend: Add a kerberos provider (66.55 KB, patch)
2012-08-20 21:52 UTC, Ray Strode [halfline]
committed Details | Review
worker: set KRB5CCNAME automatically if it's not already (2.47 KB, patch)
2012-08-20 21:58 UTC, Ray Strode [halfline]
committed Details | Review
daemon: Add kerberos renewal service (372.29 KB, patch)
2012-08-20 22:05 UTC, Ray Strode [halfline]
committed Details | Review

Description Matthias Clasen 2012-07-02 11:28:39 UTC
After some recent design review, we've come to the conclusions that the secondary Kerberos identities are better off in the online-accounts panel than in the user panel. 

See https://live.gnome.org/ThreePointFive/Features/UserPanel

Ray is working on the provider for this.

We also need an icon to represent Kerberos identities in the list.
Comment 1 Andreas Nilsson 2012-07-09 09:55:59 UTC
Is there any other known logo apart from the one on http://web.mit.edu/kerberos/ ?
Comment 2 Matthias Clasen 2012-07-09 17:01:18 UTC
No, that seems to be it, with some slight variations:
http://web.mit.edu/macdev/kerberos.html
Comment 3 Jakub Steiner 2012-07-17 18:25:36 UTC
Maybe we're creating false identities for certain services here. Neither Kerberos nor Exchange have a strong visual identity people recognize them by. 

While the "wired key" metaphor might work for Kerberos*, I'm thinking we might be better off without an icon for it (and possibly dropping Exchange too).

https://github.com/gnome-design-team/gnome-icons/raw/master/sketch/kerberos.png
Comment 4 Matthias Clasen 2012-07-17 18:27:10 UTC
(In reply to comment #3)

> While the "wired key" metaphor might work for Kerberos*, I'm thinking we might
> be better off without an icon for it (and possibly dropping Exchange too).

dropping _the icon for_ Exchange, I hope...
Comment 5 Jakub Steiner 2012-07-17 19:28:39 UTC
> dropping _the icon for_ Exchange, I hope...

Yes.
Comment 6 Ray Strode [halfline] 2012-08-19 04:23:55 UTC
exchange icon got dropped:

commit 8da4e35f6630546336ee83d6b9d83edb442f1760
Author: Debarshi Ray <debarshir@gnome.org>
Date:   Fri Aug 17 15:05:57 2012 +0200

    icons: Drop the Exchange icon
    
    See: https://bugzilla.gnome.org/679253#c3
Comment 7 Ray Strode [halfline] 2012-08-19 04:24:40 UTC
Created attachment 221727 [details] [review]
Allow for transient, "non-permanent" accounts

One prerequisite for adding kerberos support to online accounts
is for it to allowr accounts to show up that weren't explicitly
previously added by the user from control-center. For instance,
if a user runs "kinit" they should still be able to see their
kerberos tickets in the dialog, and even destroy the credentials
and remove the account.

Of course these accounts have a lifetime limited to the current
session.  We don't want a user to unintentionally trigger permanent
behavior by just doing a one off kinit.
Comment 8 Ray Strode [halfline] 2012-08-19 04:24:42 UTC
Created attachment 221728 [details] [review]
Add new "Ticketing" interface

Kerberos is somewhat different from other providers in that it
providers user the ability to gain access to arbitrary resources
on the local network, not just a finite set of resources (such
as Documents, Mail, Chat, etc). This ability is one of the main
reasons Kerberos is used in enterprise deployments (so called
Single Sign On).

This commit adds a new Ticketing interface to describe that
ability.
Comment 9 Ray Strode [halfline] 2012-08-19 04:24:46 UTC
Created attachment 221729 [details] [review]
daemon: Add kerberos renewal service

This commit adds an identity service whose purpose is
to automatically renew expiring kerberos credentials,
and to expose a mechanism over the bus to "kinit".

This service lays the groundwork for integrating a
kerberos provider into gnome-online-accounts.

A subsequent commit will add the provider itself.
Comment 10 Ray Strode [halfline] 2012-08-19 04:24:48 UTC
Created attachment 221730 [details] [review]
goabackend: Add a kerberos provider

This commit adds a backend for kerberos.
This combined with the previous commit allows users
to automatically enroll secondary identites in
Kerberos and ActiveDirectory deployments.
Comment 11 Ray Strode [halfline] 2012-08-19 04:39:03 UTC
If we look here:

https://live.gnome.org/Design/SystemSettings/OnlineAccounts

it shows kerberos should be under Other (along with other site specific accounts).

We don't yet have the other ones mentioned, integrated yet, so for now I'm just putting Kerberos in the list with Google, Facebook, Yahoo, et al.

Right now, we have one slider:

Use for: Network Resources [on ⦀] 

In the future we might be able to something like

Use for: Network Resources |on  ⦀|
         Files & Printers  |⦀ off|
         Contacts          |⦀ off|

will need experimentation.
Comment 12 Ray Strode [halfline] 2012-08-19 04:47:28 UTC
Right now I use GCR for showing the password dialogs.  This gives them the "system modal" look I think we probably want for kerberos, but its API doesn't allow for asking plain text questions.

I may try tomorrow to drop the gcr and instead add a new shell api (can probably just generalize the polkit one with minor changes).
Comment 13 Ray Strode [halfline] 2012-08-20 01:19:29 UTC
The realmd interfaces changed, this may need some updates.
Comment 14 Ray Strode [halfline] 2012-08-20 21:52:19 UTC
Created attachment 221924 [details] [review]
Allow for transient, "non-permanent" accounts

One prerequisite for adding kerberos support to online accounts
is for it to allow accounts to show up that weren't explicitly
previously added by the user from control-center. For instance,
if a user runs "kinit" they should still be able to see their
kerberos tickets in the dialog, and even destroy the credentials
and remove the account.

Of course these accounts have a lifetime limited to the current
session.  We don't want a user to unintentionally trigger permanent
behavior by just doing a one off kinit.

Loosely based on work by Ray Strode
Comment 15 Ray Strode [halfline] 2012-08-20 21:52:27 UTC
Created attachment 221925 [details] [review]
Add new "Ticketing" interface

Kerberos is somewhat different from other providers in that it
providers user the ability to gain access to arbitrary resources
on the local network, not just a finite set of resources (such
as Documents, Mail, Chat, etc). This ability is one of the main
reasons Kerberos is used in enterprise deployments (so called
Single Sign On).

This commit adds a new Ticketing interface to describe that
ability.
Comment 16 Ray Strode [halfline] 2012-08-20 21:52:39 UTC
Created attachment 221926 [details] [review]
daemon: Add kerberos renewal service

This commit adds an identity service whose purpose is
to automatically renew expiring kerberos credentials,
and to expose a mechanism over the bus to "kinit".

This service lays the groundwork for integrating a
kerberos provider into gnome-online-accounts.

A subsequent commit will add the provider itself.

Some changes by Debarshi Ray
Comment 17 Ray Strode [halfline] 2012-08-20 21:52:50 UTC
Created attachment 221927 [details] [review]
goabackend: Add a kerberos provider

This commit adds a backend for kerberos.
This combined with the previous commit allows users
to automatically enroll secondary identites in
Kerberos and ActiveDirectory deployments.

Some changes by Debarshi Ray
Comment 18 Ray Strode [halfline] 2012-08-20 21:56:50 UTC
I'm adding one change to GDM to make this feature work
better.
Comment 19 Ray Strode [halfline] 2012-08-20 21:58:05 UTC
Created attachment 221928 [details] [review]
worker: set KRB5CCNAME automatically if it's not already

Kerberos has some lame defaults that won't change for at
least 6 months.  For now, override the defaults.

This is necessary for the gnome-online-accounts kerberos
provider to work optimally.
Comment 20 Ray Strode [halfline] 2012-08-20 22:02:10 UTC
Review of attachment 221926 [details] [review]:

woops, some scratch test code snuck into this.
Comment 21 Ray Strode [halfline] 2012-08-20 22:05:07 UTC
Created attachment 221929 [details] [review]
daemon: Add kerberos renewal service

This commit adds an identity service whose purpose is
to automatically renew expiring kerberos credentials,
and to expose a mechanism over the bus to "kinit".

This service lays the groundwork for integrating a
kerberos provider into gnome-online-accounts.

A subsequent commit will add the provider itself.

Some changes by Debarshi Ray
Comment 22 Debarshi Ray 2012-08-20 22:16:41 UTC
I went through the wip/kerberos branch with Ray on IRC and after a few iterations and testing, it now works for me.
Comment 23 Debarshi Ray 2012-08-20 23:29:29 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.