Serwer OpenID dla Google Apps for Your Domain

29 marca 2009, 17:39:47

Od jakiegoś czasu chodziło mi po głowie, żeby dodać sobie do Google Apps własny serwer OpenID - korzystając oczywiście z dobrodziejstw Google AppEngine. Podstawowa zaleta w stosunku do serwera zewnętrznego - jedno hasło do pamiętania mniej, uwierzytelniamy się bowiem za pomocą naszego konta w Google Apps.

Okazało się, że sprawa jest prostsza niż na początku się wydawało - w przykładowym kodzie źródłowym do appengine są źródła providera openid, które praktycznie bez zmian można uruchomić na appengine (pamiętając tylko o ustawieniu uwierzytelniania tylko dla swojej domeny). Niestety - kod ten jest od prawie roku nie rozwijany i użyta tam biblioteka openid jest delikatnie mówiąc archaiczna (obsługa tylko openid 1.0).

Wziąłem się więc do roboty i po dwóch dniach poznawania python-openid, kodowania i debugowania udało się uruchomić provider'a na ostatniej wersji python-openid (2.1.1)

Funkcjonalność na razie jest tylko podstawowa - można się logować :) W podstawowy sposób obsługiwane jest także rozszerzenie Simple Registration - pola nickname i email

Źródła do pobrania na stronie projektu.

Tutaj natomiast gotowa do testowania aplikacja id-provider, z uwierzytelnianiem ustawionym dla wszystkich kont google.

Zapraszam do testowania i zgłaszania uwag / błędów i patchy.

W planach dorobienie funkcjonalności typowej dla dostawców openid - edycja profilu użytkownika (danych przesyłanych podczas Simple Registration), pamiętanie po stonie serwera decyzji w sprawie automatycznego logowania (na razie używane są ciasteczka), itd.

Tagi: appengineappsgoogleopenidpython

Komentarze do notki Serwer OpenID dla Google Apps for Your Domain

  1. # trójkąt powiedział(a):

    A nie wystarczy dodać tagów:
    <link rel="openid.server" href="http://ADRES_SERWERA" />
    <link rel="openid.delegate" href="http://ADRES_NASZEGO_KONTA/" />
    ?


  2. # mrk powiedział(a):

    Nie - ponieważ nie ma na co delegować :)
    Google nie udostępnia serwera OpenID dla Google Apps For Your Domain. Dla zwykłych kont gmail od niedawna Google jest providerem OpenID, ale zrobili to w dziwny sposób - używają mianowicie directed identity i też nie da się ustawić delegacji z własnej domeny. Jedyną możliwością użycia delegacji dla normalnych kont google (nie Google Apps) jest ichni blogger - można założyć sobie bloga na bloggerze i do niego delegować uwierzytelnianie z własnej domeny, lub uruchomić własny serwer openid na appengine.


  3. # mrk powiedział(a):

    @trójkąt: Z tego co widzę sam używasz openid.pl - nie masz problemów z logowaniem się do niektórych serwisów? AFAIK na openid.pl cały czas używane jest OpenID 1.0


  4. # trójkąt powiedział(a):

    >Nie - ponieważ nie ma na co delegować :)

    Ja deleguję na openid.pl i działa dobrze.


Dodaj komentarz: