OpenID

Z JoggerWiki
Wersja z dnia 13:41, 21 sty 2008 autorstwa Lemiel (dyskusja | edycje) (XRDF -> XRDS bo strzeliłem byka)

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do: nawigacji, wyszukiwania

OpenID i Jogger

Logowanie do systemu Joggera

Aktualnie Jogger umożliwia logowanie się jego użytkowników do Panelu administracyjnego za pomocą tożsamości uwierzytelnionej poprzez OpenID.

Logowanie jest dostępne pod adresem https://login.jogger.pl/openid/.

Jednak aby możliwe było takie logowanie, najpierw należy w Panelu administracyjnym w sekcji Użytkownicy -> OpenID dodać tożsamość.

Można do tego celu wykorzystać jeden z dwóch polskich serwisów: OpenID.pl lub MyID.pl albo inne. Przykładowe adresy tożsamości dla użytkownika lemiel w tych serwisach:

http://lemiel.openid.pl/
http://myid.pl/id/lemiel

Po podaniu adresu tożsamości następuje przekierowanie na stronę danego dostawcy tożsamości, należy się zalogować i zezwolić na pobranie odpowiedniej wizytówki przez serwer jogger.pl. Po potwierdzeniu nastąpi powrót do panelu administracyjnego, a tożsamość zostanie dodana i będzie można się za jej pomocą logować.

Jeżeli jako URI OpenID został podany URI strony zawierającej w sekcji head przekierowanie do właściwego serwera autoryzującego, to widoczne będzie URI docelowego serwera tożsamości OpenID, a nie to wpisane.

Uwierzytelnianie w innych serwisach

Możliwe jest podanie adresu twój-jogger.jogger.pl jako adresu serwera uwierzytelniającego OpenID. Jogger nie obsługuje takiego uwierzytelniania, ale można w prosty sposób ustawić przekierowanie na udostępniający taką usługę serwer.

Z użyciem pojedynczego serwera

Jeżeli dysponujesz tylko jedną tożsamością OpenID to w szablonie wpisów w części head wystarczy dodać wpisy podobne do tych przykładowych (dla użytkownika lemiel):

Dla OpenID.pl:

<link rel="openid.server" href="http://openid.pl/server" />
<link rel="openid.delegate" href="http://lemiel.openid.pl/" />

Dla MyID.pl:

<link rel="openid.server" href="http://myid.pl/auth" />
<link rel="openid.delegate" href="http://myid.pl/id/lemiel" />

Dla serwera umożliwiającego uwierzytelnianie za pomocą wiadomości jabberowych:

<link rel="openid.server" href="http://openid.xmpp.za.net/server" />
<link rel="openid.delegate" href="http://openid.xmpp.za.net/lemiel@jabber.wp.pl" />

Z użyciem większej liczby serwerów

Jeżeli posiadamy więcej tożsamości OpenID, to możemy je ustawić według odpowiednio nadanych priorytetów i umieścić w odpowiednim pliku YADIS (XRDF). W wypadku awarii serwera o wyższym (o niższej liczbie opisowej) priorytecie na liście nastąpi próba uwierzytelnienia za pomocą następnego w kolejce.

Aby umożliwić takie zachowanie, należy w szablonie wpisów dodać odpowiednie linie w części head:

<meta http-equiv="X-XRDS-Location" content="/files/yadis.xrdf" />
<meta http-equiv="X-YADIS-Location" content="/files/yadis.xrdf" />

I przygotować odpowiedni plik yadis.xrdf oraz wgrać go do zasobu plików Twojego joggera. Przykładowy plik (dla użytkownika lemiel):

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"
      xmlns:openid="http://openid.net/xmlns/1.0">
      <XRD>
	      <Service priority="1">
		      <Type>http://openid.net/signon/1.0</Type>
		      <Type>http://openid.net/sreg/1.0</Type>
		      <URI>http://openid.pl/server</URI>
		      <openid:Delegate>http://lemiel.openid.pl/</openid:Delegate>
	      </Service>

	      <Service priority="2">
		      <Type>http://openid.net/signon/1.0</Type>
		      <Type>http://openid.net/sreg/1.0</Type>
		      <URI>http://myid.pl/auth</URI>
		      <openid:Delegate>http://myid.pl/id/lemiel</openid:Delegate>
	      </Service>

	      <Service priority="3">
		      <Type>http://openid.net/signon/1.0</Type>
		      <Type>http://openid.net/sreg/1.0</Type>
		      <URI>http://openid.xmpp.za.net/server</URI>
		      <openid:Delegate>http://openid.xmpp.za.net/lemiel@jabber.wp.pl</openid:Delegate>
	      </Service>
      </XRD>
</xrds:XRDS></code>

Dodatkowe informacje

W serwisie Identity 2.0:

Wiki Identity 2.0

Blog Identity 2.0