Witajcie!
Piszę stronę konkursu na najbardziej poryty kod. Wszystko od strony usera mam skompletowane: Głosowanie na najbardziej poryty kod, wysyłanie kodów, kompilacja i sprawdzanie czy output jest prawidłowy. Dorobić panel admina i będzie gites. Problem jest jeden: Powiązanie kont użytkowników na 4Programmers z kontami użytkowników na stronie konkursu. Stąd zwracam się z prośbą:
Czy ktoś ogarnięty w kodzie mógłby dopisać jakąś mini bramę w stylu OpenID między 4p, a innymi dedykowanymi serwisami? Chodzi o coś w tym stylu:
-
Użytkownik wpisuje swój login na 4Programmers na zewnętrznej stronie i wysyła formularz
-
Serwer przekierowuje do:
http://4programmers.net/external.php?login=podanylogin&redirect_to=http://sandbox.demonical.pl/costam/login.php
-
Jeśli user nie jest zalogowany na 4P pod loginem "podanylogin" to dostaje formularz logowania. Kiedy juz się zaloguje/jeśli jest zalogowany wyświetla się prompt z pytaniem czy chce stronie sandbox.demonical.pl udostępnić informacje o logowaniu, jeśli kliknie NIE przekierowuje na adres podany w redirect_to ze dopiskiem:
?status=failed
Jeśli kliknie na TAK to serwer również przekierowuje na stronę podaną w redirect_to z tą różnicą że dopisuje na końcu:
?status=success&login=podanylogin&hash=b26615dacbb9289f1a26e68557430eb31d437e8b
Jako hash idzie wynik:
SHA1(login usera + jakiś salt ustalony między dwoma stronami, byle długi)
I wtedy ja wiem czy user faktycznie jest pod takim nickiem na 4P, czy sobie jaja robi.
Wiem że to się może wydawać zbędne czy pokręcone, ale to tylko kilka linijek kodu - sprawdzanie logowania, a na pewno wyjdzie na zdrowie (może powstaną strony do innych projektów/konkursów/dyskusji). Ja nie ogarniam Coyote, więc celowo oglądać kodu żeby dopisać jedną małą funkcjonalność nie mam czasu, ani ochoty. Dałoby się jeszcze w tej wersji coś takiego zrealizować? W ostateczności napiszę sam...