Myślę o dodaniu logowania za pomocą openid do mojej aplikacji. Powstał w mojej głowie problem natury projektowo-implementacyjnej. Przypuśćmy, że użytkownik będzie posiadał swoje konto, dzięki czemu będzie miał dostęp do swojej “stronki”, będzie mógł pisać posty na forum, dodawać komentarze itd. itp.
Target jest wybitnie nieinformatyczny, więc na pewno będzie możliwość zalogowania używając loginu i hasła. I tutaj zaczynają się małe schodki (przynajmniej dla mnie - nie przestawiłem jeszcze myślenia na identity2.0 way). Rozważmy jakiegoś ktosia, który zarejestruje się w normalny sposób. Nabije contentu, podyskutuje, powyżywa się ogólnie na serwisie. I nagle stwierdzi, że fajnie byłoby zacząć używać openid. Zarejestruje sobie konto foobar.myopenid.com i się zaloguje. I co wtedy? Żeby nie musiał zostawiać starego konta trzeba będzie stwierdzić, że jest on jego właścicielem - niezbyt trudne, podaje hasło do starego konta i voilla. I kolejna zmiana. Ów ktoś zauważył, że jest openid.pl, więc nie opłaca mu się korzystać z angielskiego badziewia i robi sobie konto foobar.openid.pl. I znowu musi jakoś pokazać, że on to on.
I inna sytuacja. Tajemniczy ktoś od razu używa konta myopenid.com. Serwer nagle pada, a on chce się zalogować, więc zakłada sobie konto na openid.pl i się loguje. I jak teraz stwierdzić, że foobar.openid.pl to ta sama osoba co foobar.myopenid.com? Bez tego nie będzie mógł korzystać ze swojego konta.
Pewnym rozwiązaniem jest tu yadis, czy wykupiony stały adres openid, ale jak już wspomniałem target jest wybitnie nieinformatyczny, więc nie sądzę, żeby dużo osób się w takie rzeczy bawiło. Być może rozwiązanie jest proste, ale nie wnikałem w openid zbyt głęboko.
ps. post na forum railsowym, bo nie ma na razie chyba w polsce forum/grupy traktującej o tym temacie 