Login API dla 4programmers

0

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:

  1. Użytkownik wpisuje swój login na 4Programmers na zewnętrznej stronie i wysyła formularz

  2. Serwer przekierowuje do:http://4programmers.net/external.php?login=podanylogin&redirect_to=http://sandbox.demonical.pl/costam/login.php

  3. 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...

0

ymm, tak to czytając, przypomniał mi się jeden obrazek, ktorym musze sie podzielic
user image
Przepraszam za offtopic. Ale jestem za. Fajnie by było zrobić proste api openid

0

Jeśli już robić, to porządnie - pełne OpenID. Dlugi salt? Bez sensu. Na długość bloku wystarczy.

Nie wiem tylko czy jest sens implementować coś takiego do obecnej wersji, która zostanie zastąpiona razem z DN Forever w niedługiej przyszłości.

0

Taa, w 2012 roku... Długi to po mojemu ~32 bity, dalej jest bezsensownie długi i bezsensownie podatny na kolizję.
Zrobić teraz prosty skrypt bo kilku osobom jest to potrzebne, a w Coyote Forever porządnie.

0

Ja poki co cala swa uwage skupiam na nowej wersji, aby odpalic pre1 na serwerze testowym ;)

A integracja z OpenID lezy na redmine na liscie zadan. Ale to juz nie w tej wersji :(

0

Nie integracja z OpenID, tylko login API dla 4Programmers żeby można było się logować hasłem na 4P do powiązanych serwisów. Przeczytaj mój post, zrozumiesz o co chodzi - to nie jest na prawdę jakiś ogromny problem.

0
Demonical Monk napisał(a)

Dorobić panel admina i będzie gites.
Tak się teraz zastanawiam kto będzie adminem

0
lukasz1235 napisał(a)
Demonical Monk napisał(a)

Dorobić panel admina i będzie gites.
Tak się teraz zastanawiam kto będzie adminem

Kto adminem... no twórca tej strony. Glupie pytanie

0
bordeux napisał(a)

Kto adminem... no twórca tej strony. Glupie pytanie
A nie ten co to wszystko wymyślił i był do tej pory "adminem"?

0
lukasz1235 napisał(a)
bordeux napisał(a)

Kto adminem... no twórca tej strony. Glupie pytanie
A nie ten co to wszystko wymyślił i był do tej pory "adminem"?

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

Czytaj z zrozumieniem. On tworzy stronkę.... nie chodzi o admina dla 4p.net

0

Mi też nie chodzi o admina 4p tylko o mnie.

0
lukasz1235 napisał(a)

Mi też nie chodzi o admina 4p tylko o mnie.

to wiec gdzie problem? Wiem ze organizowałeś tutaj taki konkurs, ale to nie twoj pomysł. Jest on stary, i o ile pamietam jest jakis wielki konkurs co roku. Nie pamietam jak sie on nazywa na ten wlasnie kod.

0

No właśnie. Tu jest pytanie: kto powinien być adminem? Autor strony czy pomysłodawca?
Moja propozycja: Demonical Monk jest adminem który zajmuje się techniczną stroną,
a ja będę adminem który będzie wysyłał nowe zadania i inne rzeczy które robiłem do tej pory.

@bordeux: ale ogólny pomysł konkursu na 4p jest mój. I ja do tej pory się tym zajmowałem. Chociaż nie wiem czy jest sens w ogóle go rozwijać, bo pisanie porytego kodu w końcu się znudzi. Już widać zmniejszone zainteresowanie.

0

Trochę się przerzuciłeś z mojego PW na zły temat, ale nie szkodzi.
Tak jak pisałem - GG mam podane w profilu, ewentualnie ty mi wyślij na PW z namiarami na jakiś IM i się dogadamy co i jak, bo na forum/mailu nie jest zbyt szczęśliwie.

Dodatkowo: To nie musi być serwis nastawiony na badziewny kod. Możliwości skryptu nawet na chwilę obecną dają opcję zrobienia konkursu typu "rozkmiń to", "najkrótszy kod", albo "napisz nie używając funkcji XXX i/lub średnika". Jest indeks zabronionych słów dla każdego wyzwania, jest maksymalna ilość zgłoszeń (jeśli wyślesz za dużo, to stare automatycznie są zmieniane w odrzucone), można łatwo dorobić wybór języka jeśli to się rozrośnie no i po upływie terminu nadsyłania kodów automatycznie do określonej daty można głosować (wszyscy zarejestrowani tam userzy).

Właśnie tak myślałem żeby jako potwierdzenie swojej tożsamości tam, żeby nikt się nie podszywał można walnąć jakąś prośbę typu "wstaw link do strony konkursu w swoim profilu w polu strona WWW i wciśnij dalej to będzie konto aktywowane (potem można skasować link)", tylko czy to nie będzie upierdliwe?

0

Nie jestem pewien, ale czy do Twoich potrzeb nie lepsze by było OAuth? Mało o tym wiem, ale wydaje się najlepszą opcją?

0
Marooned napisał(a)

Nie jestem pewien, ale czy do Twoich potrzeb nie lepsze by było OAuth? Mało o tym wiem, ale wydaje się najlepszą opcją?

proszę, tylko nie OAuth.... Nie potrafię znaleźć ani jednej biblioteki w PHP, która bez problemu łączyła by się z google. Więcej roboty dla programisty :< Zwykły openid na pewno wystarczy.

0

Ja akurat jestem przeciwny idei OpenID - jedno hasło i ciach - masz dostęp do wielu serwisów.

0
Marooned napisał(a)

Ja akurat jestem przeciwny idei OpenID - jedno hasło i ciach - masz dostęp do wielu serwisów.

z OAuth tak samo.
Tak to prawda, ale ile jest stron, gdzie z przymusu musisz się logować? A gdzie nie zalezy ci na koncie.

0

To można tak przeprowadzić, żeby podczas rejestracji łączyło się z 4P w sprawie autoryzacji na login (żeby były takie same na forum i na stronach powiązanych, bez podszywania się jak to kiedyś user trzykropki był jeden w trzech osobach), bo na prawdę nie chce żeby znowu tu wbił jakiś "komorkowy_dzony" i odwalał jaja...

A podczas rejestracji na zewnętrznych stronach da się po prostu inne hasło + prośba żeby nie podawać tego samego co na 4P. Na wiki też takie externalsy są, tylko że tam albo konta na OTRSie zakładają jedni drugim, albo na zasadzie "wklej ten kod do swojej strony dyskusji to będziesz autoryzowany". Tylko tutaj nie ma API do niczego...

Zaimplementowałbyś chociaż OAutha? Czy jak zwykle SoA nawet przeciwko poświęceniu 5 minut czasu? Nawet nie trzeba żadnej zabawy w zasrane RSA i inne cudactwa, tylko to, o czym pisałem w pierwszym poście. Simple authorization, a tu syndromu OpenID nie mamy bo te serwisy to tylko "rozszerzenia" do 4P, a nie coś niezależnego.

0

Ja to wybacz, ale nie mam czas na implementację czegokolwiek. Jeśli dostanę patcha to mogę go ewentualnie z Adamem przejrzeć, ale nie znajdę ani chwili by napisać nawet 5 linijek. Mówię uczciwie.

bordeux napisał(a)

ale ile jest stron, gdzie z przymusu musisz się logować? A gdzie nie zalezy ci na koncie.
Niestety większość wymaga i zależy mi na większości.

0

To co leży w biednym publicznym SVNie to jest obecny stary kojot?
Aha, nie ma SVN/CVS/wtf - wszystko deadlinki tylko wersja pre1...
Gdzie można najnowszą znaleźć?

Edit: W tej pre1 nawet ucp.php nie widzę, pracowanie na tym nie ma sensu - nawet szablony są inne.
Dzie aktualna wersja? Open source jest...

0

Ha!
Adamie!! Ponawiam [po raz 1774] o wrzucenie bieżącej wersji do SVN i objęcie katalogu na serwerze repozytorium :>

0

Jakich obowiązków z GPL? O ile pamiętam to nie musisz publikować kodu o ile używasz modyfikacji/wtf tylko u siebie - nasz skrypt chodzi tylko na naszym serwerze dedykowanym. Dlatego kupa sprzętu ze zmodyfikowanym Linuksem nie ma dołączonych źródeł...

0

@Demonical Monk i @lukasz1235 - pożryjcie się jeszcze trochę bardziej, za parę lat nakręcimy o Was film ("The Poryty Kod Network") i skończą się problemy z utrzymaniem serwera i reklamami na 4p oraz klika innych.

0
Demonical Monk napisał(a)

Wieś trochę, niby GPL, a nie wypełniacie obowiązków zawartych w licencji od dawna... Dawać pre3 i tyle.

Wiesz co? Twoje zachowanie to "wies troche". Co to znaczy "dawac i tyle"? Z obory sie wyrwales?

0

Yyy... Wyjebałem ten post, po nocy kodzenie nie wychodzi na dobre.

Więc dało by się w jakimś minimalnym stopniu udostępnić najnowszego kojota? Dużo gruntownych przeróbek było (albo mod_rewrite mnie robi w konia z tym UCP)... Miała być prosta strona pod konkurs, a się narobiło dymu...

0

No jak widzę teraz fragmenty cytowane przez Adama z nocnego postu, to odechciało mi się wszelkiej pomocy, sorry...

0
somekind napisał(a)

@Demonical Monk i @lukasz1235 - pożryjcie się jeszcze trochę bardziej, za parę lat nakręcimy o Was film ("The Poryty Kod Network") i skończą się problemy z utrzymaniem serwera i reklamami na 4p oraz klika innych.
Ja się nie kłócę po prostu ciekawi mnie co Demonical Monk ma zamiar zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1