Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
-
- Amator
- Posty: 45
- Rejestracja: ndz mar 15, 2020 10:21 pm
Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
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
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
-
- Zawsze On-Line
- Posty: 515
- Rejestracja: ndz sty 24, 2016 10:46 am
Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
A sprawdzałeś SSO Serwer ?
Tu masz przewodnik do api SSO:
https://global.download.synology.com/d ... _Guide.pdf
Tu masz przewodnik do api SSO:
https://global.download.synology.com/d ... _Guide.pdf
DS916+ /7.1-42661/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
-
- Amator
- Posty: 45
- Rejestracja: ndz mar 15, 2020 10:21 pm
Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
W punt! Dokładnie o to mi chodziłolook12 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
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Edit: chyba jednak chodziło mi o LDAP server ale dzięki za nakierowanie
-
- Amator
- Posty: 45
- Rejestracja: ndz mar 15, 2020 10:21 pm
Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
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![Sad :(](./images/smilies/icon_e_sad.gif)
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
![Sad :(](./images/smilies/icon_e_sad.gif)
-
- Zawsze On-Line
- Posty: 515
- Rejestracja: ndz sty 24, 2016 10:46 am
Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
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ń.
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ń.
DS916+ /7.1-42661/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
-
- Amator
- Posty: 45
- Rejestracja: ndz mar 15, 2020 10:21 pm
Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
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.
-
- Zawsze On-Line
- Posty: 515
- Rejestracja: ndz sty 24, 2016 10:46 am
Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
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ć.
DS916+ /7.1-42661/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
-
- Amator
- Posty: 45
- Rejestracja: ndz mar 15, 2020 10:21 pm
Re: Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
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
-
- Zawsze On-Line
- Posty: 515
- Rejestracja: ndz sty 24, 2016 10:46 am
Czy DSM może autoryzować logowanie do zewnętrznej aplikacji webowej?
No na tym dokładnie polega konfiguracja DSM w SSO. Sam do tego doszedłeś, tym większa satysfakcja po Twojej stronie.
DS916+ /7.1-42661/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
DS112+ /6.2.4-25556/
RT2600ac /SRM 1.3-9193/
-
- Amator
- Posty: 45
- Rejestracja: ndz mar 15, 2020 10:21 pm