Strona 1 z 2

Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: śr cze 16, 2021 7:45 pm
autor: karoljas96
Cześć,
zdarza mi się pisać małe 'aplikacje'(PWA) w php przeznaczone do prostych rzeczy (np. tablica informacyjna linkująca do plików z Synology Drive). W chwili obecnej użytkownicy muszą logować się zarówno przez login.php appki jak i DSM, czyli w dwóch miejscach. Jest to dość niewygodne, biorąc pod uwagę, że wymagam długich i skomplikowanych haseł.
Zastanawiam się czy jest możliwe wykorzystanie DSM w celu generowania tokenów, z których mogłaby korzystać zewnętrza aplikacja do autryzowania logowania, jeśli użytkownik jest prawidłowo zalogowany do DSM. Tylko kompletnie nie wiem, jak się za to zabrać. Spodziewałem się, że pakiet oAuth będzie w stanie generować takie tokeny ale się rozczarowałem.

Byłbym wdzięczny za jakiekolwiek sugestie

Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: śr cze 16, 2021 10:45 pm
autor: look12
A sprawdzałeś SSO Serwer ?
Tu masz przewodnik do api SSO:
https://global.download.synology.com/d ... _Guide.pdf

Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: czw cze 17, 2021 1:26 am
autor: karoljas96
look12 pisze: śr cze 16, 2021 10:45 pm A sprawdzałeś SSO Serwer ?
Tu masz przewodnik do api SSO:
https://global.download.synology.com/d ... _Guide.pdf
W punt! Dokładnie o to mi chodziło :D Pięknie dziękuję.
Edit: chyba jednak chodziło mi o LDAP server ale dzięki za nakierowanie

Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: czw cze 17, 2021 10:21 am
autor: karoljas96
Niestety po dokładniejszym przyjrzeniu się jak dziala SSO i LDAP widzę, że to wciąż nie to o co mi chodziło. Oba rozwiązania wymagają ponownego wpisania loginu i hasła w aplikacji zewnętrznej, co jest uciążliwe. Mi zależy na tym, żeby była możliwość wysłania przez PHP zapytania do DSM czy użytkownik jest obecnie zalogowany i jeśli tak, to zwrócić jego nazwę.

Edit: Próbowałem uzyskać przez API nazwę zalogowanego użytkownika, według dokumentacji '/usr/syno/synoman/webman/modules/authenticate.cgi' lub '/webman/modules/authenticate.cgi'' powinny zwrócić username ale wyskakuje bład 404. Jedynie używając '/webman/login.cgi' jestem w stanie sprawdzić, czy użytkownik jest zalogowany do DSM czy nie, ale jaki to już niewiadomo.
Próbowłem też kombinować z /webapi/auth.cgi?api=SYNO.API.Auth&version=3&method=info' ale nic z tego.
Szukałem też w 'webapi/query.cgi?api=SYNO.API.Info&version=1&method=query&query=all' czegoś co pozwolic wyświelić username ale również mi się to nie udało (choćby dlatego, że nigdzie nie podano jakiej metody należy użyć).

Straszne jest to, że Synology nie kompletnie zaniedbuje aktualizuje dokumentacji :(

Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: pt cze 18, 2021 7:42 am
autor: look12
Podłącz logowanie do DSM za pośrednictwem SSO Serwer.
Jeżeli apka będzie współpracować z SSO, a użytkownik wcześniej wykonał logowanie do DSM to autentykacja do apki zakończy się powodzeniem bez dodatkowych pytań.

Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: pt cze 18, 2021 2:49 pm
autor: karoljas96
look12 pisze: pt cze 18, 2021 7:42 am Podłącz logowanie do DSM za pośrednictwem SSO Serwer.
Jeżeli apka będzie współpracować z SSO, a użytkownik wcześniej wykonał logowanie do DSM to autentykacja do apki zakończy się powodzeniem bez dodatkowych pytań.
Faktycznie działa ale tylko jednostronnie: tzn jeśli uzytkownik w pierwszej kolejności zaloguje się do SSO to łapie w DSM, ale jeśli najpierw zaloguje się do DSM to nie łapie w SSO.

Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: pt cze 18, 2021 7:13 pm
autor: look12
Ustawiasz w DSM domyślne logowanie do SSO i na oknie logowania do DSM masz logowanie za pośrednictwem SSO, jak ktoś wybierze i zmieni na logowanie do DSM i zaloguje się bezpośrednio z pominięciem SSO, to oczywiście nie ma prawa działać.

Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: sob cze 19, 2021 9:16 am
autor: karoljas96
look12 pisze: pt cze 18, 2021 7:13 pm Ustawiasz w DSM domyślne logowanie do SSO i na oknie logowania do DSM masz logowanie za pośrednictwem SSO, jak ktoś wybierze i zmieni na logowanie do DSM i zaloguje się bezpośrednio z pominięciem SSO, to oczywiście nie ma prawa działać.
Ok udało się ale ale żeby to działało należy w pakiecie serwera SSO dodać nową aplikację o nazwie DSM, skopiować jej ID i w Panelu sterowania wejść w Domena/LDAP -> Klient SSO, zaznaczyć włącz usługę SSO, jako adres serwera wpisać adres DSM, jako iD aplikacji skopiowany ID i wtedy dopiero można zaznaczyć Wybiez SSO jako domyslną usługę logowania

Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: sob cze 19, 2021 3:20 pm
autor: look12
No na tym dokładnie polega konfiguracja DSM w SSO. Sam do tego doszedłeś, tym większa satysfakcja po Twojej stronie.

Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?

: ndz cze 20, 2021 11:33 am
autor: karoljas96
look12 pisze: sob cze 19, 2021 3:20 pm No na tym dokładnie polega konfiguracja DSM w SSO. Sam do tego doszedłeś, tym większa satysfakcja po Twojej stronie.
Dzięki za pomoc :)