OpenID vs OAuth

OpenID und OAuth – die beiden Technologien hören sich ähnlich an und bieten ähnliche Funktionalität. Aber was genau bieten sie, und was ist der Unterschied zwischen den beiden?


OpenID

Login durch Login auf anderer Webseite.

OAuth

Webseite erlauben von anderer Webseite/Service Daten zu holen.

Beispiel: Man möchte seine E-Mails von GMX nach Googlemail importieren. GMX könnte nun über OAuth als Provider fungieren, und Googlemail als Konsument. Der Benutzer würde in Googlemail über einen Klick mitteilen, dass er die E-Mails von GMX importieren möchte. Er wird nun zu GMX weitergeleitet und muss sich einloggen wenn er nicht bereits eingeloggt ist. Er wird nun auf der GMX-Webseite gefragt, ob er Googlemail erlauben möchte die E-Mail-Daten auszulesen. Der Benutzer bestätigt dies. Er wird nun wieder zu Googlemail weitergeleitet, wo er sieht wie Googlemail die E-Mails importiert.

Kombination der Beiden

Die beiden Techniken bieten also verschiedene Funktionalität. OpenID eine zur Authentifizierung des Benutzers, OAuth zur Autorisierung von Datenübertragungen. Das eine kann also auch ohne das andere vorkommen.

Wird OAuth zusätzlich zu OpenID verwendet, so kann etwa eine Accountregistrierung sehr komfortabel ablaufen: Der Benutzer erlaubt über OAuth die Datenübertragung von einer anderen Webseite, bei der er einen Account hat. Nun werden die Accountdaten (etwa E-Mail- und OpenID-Adresse) übernommen. Fortan hat der Benutzer einen Account und kann sich mittels OpenID über die andere Webseite „einloggen“.