Neues Modul - 74_Unifi - Für den Ubiquiti Networks (UBNT) - Unifi Controller

Begonnen von rapster, 23 August 2015, 02:12:04

Vorheriges Thema - Nächstes Thema

rcmcronny

Hallo,

habe auch keine. Aber ich weiss, das bei der UDM das etwas anders gelöst wurde,da ja mehr als nur der Controller da rennt.

Probiere mal ein


curl -k --data '{"username":"DERUSER","password":"DASPW"}' --fail https://<IP>:8443/network/api/auth/login

Wenn das dann klappt muss man alles mit


https://<IP>:8443/proxy/network/api/...

aufrufen wohl.

EIn versuch ist es mal wert :)
Ronny

Maui

Denke nicht dass das was bringt.
Vielleicht liegt es einfach wirklich an den Keksen und dem csrf.
@Leo versuch mal folgendes:

curl -k -c /tmp/unifiCookie --cookie-jar /tmp/unifiCookie --data '{"username": "<mein Username>", "password": "<mein PW>"}' https://192.168.xxx.xxx:8443/api/auth/login

Jetzt hast du erst wirklich einen Keks im Glas. Damit wird es bestimmt auch nicht gehen.
Wenn du jetzt in einem editor (vi,nano) den cookie anguckst, kannst mal den csrf token kopieren.
In einem 2. aufruf dann ohne neuen Keks im glas (cookie-jar) aber mit Header.

curl -k -c /tmp/unifiCookie -H 'x-csrf-token: <Token>' --data '{"username": "<mein Username>", "password": "<mein PW>"}' https://192.168.xxx.xxx:8443/api/auth/login


Leo1973

Zitat von: rcmcronny am 12 August 2020, 19:49:18
Hallo,

habe auch keine. Aber ich weiss, das bei der UDM das etwas anders gelöst wurde,da ja mehr als nur der Controller da rennt.

Probiere mal ein


curl -k --data '{"username":"DERUSER","password":"DASPW"}' --fail https://<IP>:8443/network/api/auth/login

Wenn das dann klappt muss man alles mit


https://<IP>:8443/proxy/network/api/...

aufrufen wohl.

EIn versuch ist es mal wert :)
Ronny

Wenn ich Port 8443 nutze kommt direkt Connection refused. 8443 war der Port beim Cloud Key 2. Dort hat der Unifi Controller geantwortet (der Cloud Key 2 Plus hat ja auch das Unifi Protect mit drin wie jetzt die UDM auch).
Gerade lasse ich das interne Log der UDM mit"tailen". Seltsamerweise scheint lokal auf der UDM doch etwas zu "horchen":

Aug 12 20:55:47 ubnt user.info mcad: mcad[1697]: ace_reporter.reporter_save_config(): Saving stun_url as stun://localhost/
Aug 12 20:55:47 ubnt user.info mcad: mcad[1697]: ace_reporter.reporter_save_config(): Saving mgmt_url as https://localhost:8443/manage/site/default
Aug 12 20:55:47 ubnt user.info mcad: mcad[1697]: ace_reporter.reporter_handle_response(): [setparam] applying new system.cfg
Aug 12 20:55:48 ubnt user.notice syswrapper: [apply-config] using fast apply


Das mit dem Cookie bringt leider gar keine Änderung.
Vielleicht lasse ich das Thema einfach ein paar Tage liegen und betoniere im Garten ein paar Randsteine.  8)

rcmcronny

Ach stimmt, das ist bei der UDM auch anders.

Probiere doch mal die beiden: (Theor sollte es reichen, das in den Browser zu hauen und die Rückmeldung anzuschauen, wenn was kommt kann man das Curl anpassen und es so nochmal probieren.


https://ip/proxy/network/api/auth
https://ip/network/api/auth


Intern hört der Controller auf localhost:8443 die UDM leitet das dann weiter.

Mehr Ideen habe ich aber auch nicht, ohne die Unifi Api anzuschauen :D

Ronny

Maui

Die UDM müsste direkt auf 443 lauschen. Sollte also ein https reichen und das :8443 kann weg.
@Wuehler: hier sollte mehr oder weniger ein Faden ersichtlich sein, was für die UDM umgebaut werden muss.
https://github.com/Art-of-WiFi/UniFi-API-browser/blob/994d9226b49f47c50a94d2d2e09eb8b4b9f99f66/vendor/art-of-wifi/unifi-api-client/src/Client.php

Leo1973

Zitat von: Leo1973 am 12 August 2020, 13:15:47
@oKenny:

Wo hast du im Controller die Einstellung für "Enable WebSocket connection" gefunden? Kannst du bitte mal die Scripte für das dis- enablen von AP's und Switches posten?

Vielen Dank im Voraus.

Enable WebSocket hab ich nun gefunden:
Der Schalter hierfür findet sich in den Controller-Einstellungen unter Benutzer Interface/User Interface in der Sektion Daten. Dort gibt's nen Schalter für WebSocket-Verbindung erlauben.

Nur so als Info...

Leo1973

Da es heute regnet und ich nun keine Randsteine im Garten betonieren kann hab ich mich nochmal dran gemacht.
Auf Anregung von Maui (Danke Dir an der Stelle für die Anregung) hab ich mir den UniFi-Api-Browser runtergeladen und an meinem Apache-Server eingehängt, konfiguriert und siehe da:

Funktioniert auf Anhieb!

Also kann ich auf jeden Fall schon mal ausschließen dass hier ein genereller Fehler an der UDM bzw. deren Firmware oder Konfiguration vorliegt.
Die Frage ist nur: Wie adaptiere ich die Anmeldungsprozedur so wie diese vom Unifi-Api-Browser abgesetzt wird und baue dementsprechend meine Bashscripts um damit ich diese wieder verwenden kann.
Im Prinzip sind es zwei Scripts die ich von Loxone aus über den Loxberry aufrufe um zwei Unifi-WLan Access-Points nachts ab- bzw. wieder anzuschalten.

Weiterhin offen ist ja die Anmeldeprozedur für das 74_Unifi-Modul... hat mir jemand von euch eine Anregung?

Maui

Ich vermute, dass es schon fast geht. Evtl. Fehlt noch die base64 dekodierung.
Siehe php code


return json_decode(base64_decode($jwt_payload))->csrfToken;


Andibar

Freut mich dass hier wieder Schwung in die Sache kommt. Ich habe es leider auch noch nicht zum Laufen gebracht mit meinem UDM Pro. Wenn es die Zeit zulässt werde ich die Tage nochmals eure letzten Hinweise durcharbeiten und testen.

Grüße
Andi

bogi999

Zitat von: Leo1973 am 13 August 2020, 17:05:26
Weiterhin offen ist ja die Anmeldeprozedur für das 74_Unifi-Modul... hat mir jemand von euch eine Anregung?

Die Anmeldung muss wohl direkt an der UDM erfolgen.

Sprich "https://ip-der-udm:443" und im Anschluss kann man dann auf die Api zugreifen via "/proxy/network....."

So zumindest meine Vermutung.

Micky79

Hallo zusammen,

auch ich habe eben das angepasste Modul für die UDM Pro getestet. Leider ebenfalls ohne Erfolg.
Invalid user or password.  Es scheint in der Tat an der Authentifizierung zu liegen.

Es wäre schön wen die UDM auch mit dem Modul laufen würde. Das müsste doch eigentlich irgendwie gehen.

Bei Bedarf helfe ich gerne.

F-Spezi

Ich konnte dem Angebot (196€) nicht widerstehen und habe meinen Controller (unter Windows) und den USG gegen eine UDM Pro getauscht.
Der Umzug funktionierte erstaunlicherweise problemlos, nur beim Umstellen des Unifi Modul kam dann die Überraschung.
Leider funktioniert jetzt auch meine Anwesenheitserkennung nicht mehr.  :-\

Gib es schon Neuigkeiten ?
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland

Wuppi68

Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

F-Spezi

Leider kann ich mich per REST Client bzw. curl nicht anmelden:

curl -k -i 'https://192.168.x.x/api/auth/login' --data '{"username":"xxx","password":"yyy","rememberMe":false}'

HTTP/1.1 401 Unauthorized
Vary: Origin
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Accept-Ranges: bytes
X-CSRF-Token: caxxx5f9-b50f-44xx-b5xx-cf01dxxfxxc4
Content-Type: application/json; charset=utf-8
Content-Length: 56
X-Response-Time: 54ms
Set-Cookie: TOKEN=zQiLCJpYXQiOjE1OCI6MTU5OTU3NDU0NH0.aBlihFuj8m-7rVXaw81thh5VEz8; path=/; secure; httponly
Date: Tue, 08 Sep 2020 13:15:44 GMT
Connection: keep-alive

{
  "errors": [
    "Invalid username or password"
  ]


In der Web-Konsole des Firefox sehe ich, daß die Anmeldeseite der UDM-Pro diese Daten per POST an genau diese URL schickt.

Den Status hingegen kann ich abfragen:

curl -k -i 'https://192.168.x.x/proxy/network/status'

HTTP/1.1 200 OK
Vary: Origin
X-DNS-Prefetch-Control: off
x-frame-options: DENY
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Accept-Ranges: bytes
X-CSRF-Token: 3b4dxxxx-40xx-44xx-a0xx-2dxx4cxx7dxx
content-type: application/json;charset=UTF-8
content-length: 320
date: Tue, 08 Sep 2020 13:29:11 GMT
connection: close
Set-Cookie: TOKEN=TdkMzEiLCJpYXQiMTU5OTU3NTM1MX0.BOrTmY_OmP9kKhFL0EiROy7arnvY; path=/; secure; httponly

{"meta":{"rc":"ok","uuid":"46bxxxxx-9bxx-5xxf-86xx-xxb2xff2ccxa","server_version":"5.14.22","server_running":true,"db_running":true,"db_connected":true,"db_journaling":false,"db_repairing":false,"db_importing":false,"db_importing_at":-1,"db_importing_name":null,"ucore_installation":true,"udm_connected":true},"data":[]}
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland

F-Spezi

Hat jemand einen Weg gefunden sich erfolgreich an der UDM bzw. UDM Pro anzumelden ?

Ich kann gerne Anpassungen testen.
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland