Skryptozakładka do logowania via Google OpenID
13 lipca 2009, 11:47:19Jak wiadomo, implemetacja OpenID google nie jest najłatwiejsza w użyciu. Google używa tzw. "Directed Identity" z OpenID 2.0 - do logowania używany jest ten sam dla wszystkich url, właściwy identyfikator OpenID użytkownika ustalany jest po uwierzytelnieniu u dostawcy OpenID. Identyfikator OpenID dla google to https://www.google.com/accounts/o8/id - jak widać średnio wygodny do zapamiętania i wpisywania. I właśnie dlatego powstała niniejsza skryptozakładka - szuka na stronie formularza logowania, ustawia identyfikator OpenID i wysyła formularz. Oczywiście można użyć dla dowolnego innego dostawcy OpenID, zmieniając URL.
Tutaj gotowa skryptozakładka: Google OpenID
A tak wygląda w bardziej strawnej postaci:
(function() { var inputs=document.getElementsByTagName('input'); for(i=0;i<inputs.length;i++){ if(inputs[i].type=="text" && inputs[i].name.indexOf('openid')>=0) { var f = inputs[i]; f.value = 'https://www.google.com/accounts/o8/id'; while(f && f.tagName!='FORM') f=f.parentNode; if(f) f.submit(); return; } } alert('Brak formularza OpenID'); })();
Skryptozakładka sprawdzona w FF3.5 i Chromium.
Tagi: google openid skryptozakładka bookmarklet