Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 27 odgovora
  • 34.887 pregleda

Najnovija ↓

Centralizovana autorizacija korisnika 14.06.2019. u 08:17 · pre 90 meseci #1
Hteo bih da napravim centralizovanu autentifikaciju korisnika koju bi koristilo nekoliko internih web aplikacija.

Imam neke ideje kako bi to mogao da napravim ali rekoh da pitam da li neko može da preporuči neko već gotovo rešenje?

Potreba je da se napravi servis za autentifikaciju na kome bi se administrirali korisnici a web aplikacije bi koristile taj servis za autentifikaciju umesto da svaka ima svoju bazu korisnika.

Potencijalno, valjalo bi da se omogući i Single Sign On - korisnik kada se uloguje na jednom mestu automatski je ulogovan i na svim ostalim - ali to mi nije kritično neophodno.

Valjalo bi i da je protokol za autentifikaciju lako implementirati i u popularne CMS platforme.

Zbog specificnosti platformi, ne dogovara kacenje na LDAP ili nešto slično.
Potpis
http://pedja.supurovic.net - http://wireless.uzice.net - Besplatni .RS domeni - Mikrotik uputstva - YT9TP - OpenStreetMap Srbija
Sviđa mi se1
Re: Centralizovana autorizacija korisnika 14.06.2019. u 11:27 · pre 90 meseci #2

Ako zelis nesto kao facebook, google, twitter... login, onda ti je oAuth2 standardni protokol.
Ne znam koji framework koristis, za laravel imas vec gotov oAuth api server passport.

Sviđa mi se1
Re: Centralizovana autorizacija korisnika 14.06.2019. u 15:48 · pre 90 meseci #5
Pa za PHP ne bi moglo jer to sto ti hoces je cross-site koliko mi se cini. Da ne pricam o tome da ako cuvas u cookie-ju i nekako izvrdas da radi na cross-site, imas ogroman security flaw.

Mozes da sprcas nesto u RESTu, ali prvo moras da razmislis kako bi se sa klijentske strane cuvale informacije, tacnije, na osnovu cega bi verovao da je taj korisnik bas taj korisnik.

Mozemo da diskutujemo o problematici jer i mene iskreno zanima.
Potpis
THE ONLY EASY DAY WAS YESTERDAY
Sviđa mi se1
Re: Centralizovana autorizacija korisnika 14.06.2019. u 15:57 · pre 90 meseci #7
Moze u php-u, ali je malo komplikovanije nego -nesto jednostavno- plug&play, odnosno svi sistemi moraju da podrzavaju jedan standard. Zato ljudi i preporucuju oAuth2 koji to resava, i identifikaciju i autorizaciju poziva. Isto i passport koji moze da zameni oAuth odnosno olaksava pravljenje sopstvene alternative ako "cloud" opcija nije primamljiva.
U svakom slucaju nije previse komplikovano da se napravi koristeci gotove alate/servise, ali treba da se razume kako i zasto tako radi, i kako ga pravilno primeniti na SVIM relevantnim pozivima i u svim aplikacijama.
Praviti bezbedan i pouzdan oauth od nule mislim da je neisplativo jer ima puno promenjivih i puno prostora za gresku (opet ovde je naglasak na bezbedan i pouzdan)
Potpis
http://norway.dakipro.com/
Sviđa mi se2
Re: Centralizovana autorizacija korisnika 15.06.2019. u 04:06 · pre 90 meseci #10
Mislim da je cognito isto sto i OAuth. Ne vidim nigde da nude third party servise kao opciju logovanja. Ovo mi deluje samo kao jos malo extra funkcija na OAuth i eventualni pregled korisnika direktno iz AWS konzole.
Potpis
THE ONLY EASY DAY WAS YESTERDAY
Re: Centralizovana autorizacija korisnika 15.06.2019. u 12:15 · pre 90 meseci #11
Evo moje ideje:

Napraviš auth sajt na posebnom domenu. Tamo je baza korisnika, baza tokena, bekend za administraciju i slično. Kad se neko loguje na web sajt, radi se redirekcija na auth sajt i posle logovanja lokalno se snima token. I tako na svakom sledećem sajtu. Uvek prvo redirekcija na auth koji proverava dal postoji token ili prima user/pass. Token bi se čuvao kao kuki ili u local storage i pristup bi imao jedino auth sajt.

Re: Centralizovana autorizacija korisnika 15.06.2019. u 12:52 · pre 90 meseci #12
Cross site autentifakcija mi nije neophodna. Rekao sam da ne bi bilo lose imati je.

Zadovoljilo bi me i samo to da se na svim sajtovima korisnici loguju sa istum user i passwordom makar i da moraju na svaki sajt da se uloguju posebno.

Pošto se radi o internoj potrebi, radilo bi mi posao i da sajt na kome se korisnik loguje, preko apija komunicira sa centralnim servisom a ne da se petlja sa redirekcijom korisnika da se uloguje pa vraćanje nazad.

Recimo, meni bi posao radilo i to da napravim jednostavan sistem koji se oslanja na postojeći POP3 server tako da se korisnici autentifikuju userom i passwordom koji već koriste i za imejl.

U svakom slučaju, pokrenuo sam ovu temu da čujem mišljenja ljudi koji imaju iskustva sa tim., da ne izmišljam toplu vodu. Jasno je da ljudi kojiimaju isksutva odmah gledaju šitu i komplikovaniju sliku pa su im takva i rešenja.


Potpis
http://pedja.supurovic.net - http://wireless.uzice.net - Besplatni .RS domeni - Mikrotik uputstva - YT9TP - OpenStreetMap Srbija
Re: Centralizovana autorizacija korisnika 15.06.2019. u 13:44 · pre 90 meseci #13
Citat:
Zadovoljilo bi me i samo to da se na svim sajtovima korisnici loguju sa istum user i passwordom makar i da moraju na svaki sajt da se uloguju posebno.

Pa , mozda samo da koristis jednu bazu za logovanje na svim sajtovima. Ako se korsnici registruju, sacuvas u tu jednu bazu i dostupno je svim sajtovima.

Ako ces svoj auth server, moraces da koristis tokene, da proveravas... i na kraju se svodi na oAuth (standardizovan protokol).

Cross site logovanje, jedino sto mi pada na pamet je da napises neki browser plugin, pa da sacuvas JWToken kad se user negde uloguje, pa da proveravas na drugim sajtovima.
Re: Centralizovana autorizacija korisnika 15.06.2019. u 15:37 · pre 90 meseci
izmenjeno 1 put, poslednji put plus_minus 15.06.2019. u 15:54
  1. plus_minus15.06.2019. u 15:54zapis iz teksta poruke
#14
Ako sam dobro shvatio, mislim da je to izvodljivo sa lokalnim php built-in serverom u pozadini na nekom portu, ukoliko ti production server omogućuje solidnu php-cli interakciju.

@generalizovanje:

Nekako negde, nakon _POST provere - u toku POST procesa, .. onda kada se korisnik loguje, odakle god to bilo, podaci koji su krucijalni, neka upiše u neki fajl (FILE_APPEND) koji će moći da se čita/upisuje samo uz pomoć built-in servera..


docroot=/some/darn/.private/.auth/.directory
prepend_file=$docroot/.myUserCheckScript.php
php -S localhost:8000 -t $docroot $prepend_file


$prepend_file je isto što i u .htaccessu `php_value auto_prepend_file`

U .myUserCheckScript.php ukucaš dalju proveru, logiku, query, šta god ti navika.

I nateraš tu logiku da odradi dobar posao kroz sve form > method > post ( .. curl() ? ) zahteve i da napuca kukije na glavni `localhost:80|443` shodno built-in embeded server odgovoru ... Tj. da vrati recimo serijalizovanu listu uz pomoć koje ćeš znati koji je device, itd. i šta će da bude u kolačićima.
Potpis
about:networking
Re: Centralizovana autorizacija korisnika 21.06.2019. u 07:10 · pre 90 meseci #15
OAuth2 naravno da bi svi znali kako da pisu request ali to i nije tolko bitno, bitnije je vrsta tokena koji mislis da im vratis pa bi ti ja preporucio JWT jer je on private-public tako da deo moze da se koriste bez kljuca a deo zahteva kljuc.
Potpis
To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
Re: Centralizovana autorizacija korisnika 29.08.2019. u 08:53 · pre 87 meseci #18
Ne razumem sta je problem da napravis centralnu bazu sa korisnicima i jednu API klasu.
Radis kao sto i sada radis, imas methode login, logout i isLogged s tim da u ovim metodama ne citas po bazi vec obradis API response.

Da bi ti login bio validan na svim sajtovima onda na sajtu na kojem si vec ulogovan treba da imas linkove svih sajtova. Tekst linka je naziv sajta a sam link je trenutni sajt sa parametrom na koji sajt hoces da se ulogujes automatski.
Kada kliknes na jedan od linkova ti si na trenutnom sajtu, tu proveris da li si ulogovan i ako jesi onda mozes da se logujes na drugi sajt, generises neki token, stavis ga u centralnu bazu preko apija (jos jedna API metoda), redirektujes se na zeljeni sajt sa tokenom koji je u bazi.
Na zeljenom sajtu uporedis parametar token i token (jos jedna API metoda) koji je u bazi i ako je dobar onda mu odradis logovanje.
Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Re: Centralizovana autorizacija korisnika 29.08.2019. u 09:25 · pre 87 meseci #20
Pa bilo mi je cudno. Ne razumem sta je onda problem? Mozes da koristis gotove klase nekog frameworka, treba ti samo API sloj. Duze traje ova rasprava na forumu nego sto se napravi.
Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme