RkBlog

Hardware, programming and astronomy tutorials and reviews.

Wykorzystanie RPXnow w Django do autoryzacji użytkowników

Autoryzacja użytkowników z Facebooka, Google Account, Twittera, czy OpenID za pomocą jednego systemu

RPXnow to serwis świadczący usługę agregacji źródeł autoryzacji i autentykacji takich jak OpenID, Facebook Connect, Twitter, Google Account, Blogger, Myspace, czy Windows Live ID. Strona korzystająca z RPXnow w bardzo prosty sposób może umożliwić rejestrację i logowanie użytkowników posiadających wspomniane konta (a w erze serwisów społecznościowych może to być ważnym źródłem nowych użytkowników). Za darmo dostaniemy podstawową funkcjonalność usługi i do 6 źródeł autoryzacji. Konta płatne mogą wybrać do 12 takich źródeł, oraz mają szerszy zakres możliwości.

Konfiguracja usługi

Żeby zacząć używać RPX należy zarejestrować się na stronie i założyć "aplikację" podając jej nazwę, oraz domeny, na których usługa będzie działać. Gdy mamy konto możemy wybrać dostępców i ich kolejność:

rpx1
Niektórzy dostawcy wymagają dodatkowej konfiguracji - np. Facebook wymaga założenia aplikacji Facebook Connect. Po zapisaniu zmian można wykorzystać RPX na własnej stronie.

Po założeniu aplikacji dostanie ona swój klucz API - będzie on potrzebny do żądań wysyłanych do API rpxnow.

Jak to działa?

Implementacja

Przykładowa integracja z Django

Potrzebujemy obsługę logowania po RPX w AUTHENTICATION_BACKENDS, oraz model powiązań. Dodatkowo warto dać opcje takie jak przypisanie identyfikatora do starego konta. Poniżej przedstawiłem kluczowe elementy mojej implementacji obsługi RPXnow w Bibliotekach. Dostępna jest też aplikacja Django - django-rpx, lecz jej akurat nie testowałem.

RkBlog

9 September 2009;

Comment article