Angular Webanwendung - Login Problem

Antworten
v-vega
Beiträge: 1
Registriert: 08 Aug 2017, 09:29

Angular Webanwendung - Login Problem

Beitrag von v-vega »

Hallo liebe Community,

ich bin gerade dabei eine kleine Webanwendung für Opsi mit Angular zu schreiben. Dabei bin ich auf ein Problem gestoßen, dass ich aktuell nicht lösen kann. Eingesetzt wird die Opsi Version 4.0.7 auf Suse Linux Enterprise Server 12 SP1.

Der Dienst, der in meiner Anwendung eine https Anfrage zur jsonrpc Schnittstelle herstellen soll, bekommt jedes mal ein "Unauthorized" zurück.
Das liegt wohl an CORS. Hier wird bei Cross Domain Anfragen zuerst ein OPTIONS-Request gesendet, bevor die eigentliche Authentifizierung gesendet wird. Opsi beantwortet diese Anfrage aber schon mit "Unauthorized".
Eine Erklärung zu den so genannten "Preflight"-Requests gibt es hier: https://developer.mozilla.org/de/docs/G ... ht_request

In den Opsi logs steht folgendes:

Code: Alles auswählen

Opsi authentication error: Application 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36' on client '172.22.60.144' did neither supply session id nor password (Worker.py|294)
Ich habe auch eine Anfrage lokal mit curl und über das Chrome Plugin "Postman" gesendet, diese senden keine OPTIONS-Requests vor der Authentifizierung. Die Abfrage klappt hier ohne Probleme.

Ich habe jetzt schon eine Menge gelesen und es scheint wohl so zu sein, dass man den Webservice auf dem Opsi Server so einstellen soll, dass er für OPTIONS-Requests keine Authentifizierung abfragen soll.

Gibt es irgendwo eine Option wo ich das einstellen könnte?

Danke im voraus.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Angular Webanwendung - Login Problem

Beitrag von n.wenselowski »

Hi,
v-vega hat geschrieben:Gibt es irgendwo eine Option wo ich das einstellen könnte?
Nein, bisher gibt es eine solche Option nicht. CORS-Support ist mit dem aktuellen opsiconfd nicht gegeben. Aber wir sind offen für Patches in dieser Richtung!

Verantwortlich sein müssten für das Handling an der Stelle WorkerOpsiconfdJsonRpc (welcher wiederum von Workern aus OPSI.Service.Worker erbt).


Viele Grüße

Niko

PS: Es gibt immer die Möglichkeit, eine solche Umsetzung im Rahmen eines Supportvertrags von uib durchführen zu lassen.

Code: Alles auswählen

import OPSI
Antworten