Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Bruce Willis am 29.03.17 - 12:00:56

Titel: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Bruce Willis am 29.03.17 - 12:00:56
Hallo,

wenn ich die REST Services aktiviere (Domino, Datenbank, Ansicht) werden über den Firefox REST Client keine Dokumente in der Ansicht gefunden und keine Felder aus dem Dokument ausgelesen.

REST Zugriff etwa so:
http://localhost:80/test.nsf/api/data/collections/name/Adressen
http://localhost:80/test.nsf/api/data/documents/unid/9721E84AF9E25C4AC1257AE200598E50

Woran kann es liegen?
Vielleicht weil ein Notes Benutzer die Dokumente in dieser Datenbank nur mit einer bestimmten Rolle (so wie z.B. [AllesLeser] ) sehen darf?

Wie kann dann das Zugriff-Problem gelöst werden?

Gruß
Leo
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Fitz am 29.03.17 - 12:34:28
ich kenne mich mit REST nicht aus aber mir kommt als erste Frage auf "Wie hast Du Dich authentifiziert?"
Ich vermute ohne login keine Daten.

Gruß
Bernd
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Bruce Willis am 29.03.17 - 12:44:48
"Wie hast Du Dich authentifiziert?"

Gar nicht. Kommt dabei keine Login-Abfrage.

Sie kommt nur wenn ich auf den ganzen Server zugreife, etwa so:
http://localhost:80/api/data/
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: umi am 29.03.17 - 13:38:00
Moin

Schon mal probiert zuerst den einen authentication request zu schicken bzw. sicher gestellt, dass der REST Client das entsprechende Session Cookie mitschickt ?
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Fitz am 29.03.17 - 13:40:11
Sorry, aber ich habe mit REST nicht viel Erfahrung. Ich hatte mir vor einiger Zeit diesen Artikel dazu notiert..

https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Authenticating_Domino_REST_Service_Requests?open

Vielleicht hilft er Dir weiter.

Gruß
Bernd
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Bruce Willis am 29.03.17 - 13:55:54
Schon mal probiert zuerst den einen authentication request zu schicken bzw. sicher gestellt, dass der REST Client das entsprechende Session Cookie mitschickt ?

Hi,

Danke, leider schon probiert... :(

Hier wird gefragt:
http://localhost:80/api/data/
danach schicke ich aus dem gleichen REST Client Fenster das:
http://localhost:80/test.nsf/api/data/collections/name/Adressen
http://localhost:80/test.nsf/api/data/documents/unid/9721E84AF9E25C4AC1257AE200598E50
und zurück kommen keine vernünftigen Daten.

Wenn ich Anonymous in die DB ACL hinzufüge, dann funktioniert das Ganze, aber so darf es nicht produktiv sein...

Gruß
Leo
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Bruce Willis am 29.03.17 - 15:33:00
https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Authenticating_Domino_REST_Service_Requests?open

Vielleicht hilft er Dir weiter.
Danke, Bernd.
Ist zwar sehr interessant, klappt's aber immer noch nicht... :(
Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Sven Hasselbach am 30.03.17 - 09:07:39
Wie greifen denn die Endanwender auf die Applikation zu? Wohl kaum über einen REST Client...

Ich vermute ohne login keine Daten.
Exakt. Woher soll der Server auch wissen, wer man ist?

Wie umi schon schrieb, muss der REST Client eine Authorization Header mitschicken, der dann die Usercredentials beinhaltet, beispielsweise

Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l

Bitte nur per SSL nutzen, sonst kann der Header (und damit gültige Authentifizierungsdaten) gestohlen werden. Alternativ kann man auch andere Verfahren (z.B. LTPA Token) verwenden, je nachdem, was bei Euch im Einsatz ist.

Der Standard REST Service von Domino ist höchst problematisch und es sollte wohl überlegt sein, diesen einzusetzen. Hintergrund ist, dass der Service jedes beliebige Feld manipulieren kann, was ggf. über die Business Logik in der Applikation selbst verhindert wurde (=> Maske etc). Security-technisch ein Alptraum...
Schau Dir mal SmartNSF (https://openntf.org/main.nsf/project.xsp?r=project/SmartNSF) an, da gibt es bessere Möglichkeiten. Das Projekt ist zwar noch in der Beta-Phase, aber die Entwickler geben zur Zeit wirklich Vollgas, was die Weiterentwicklung betrifft. Die IBM ist da auch involviert, ist also sehr zukunftsträchtig.

Titel: Re: REST Services für Notes Dokumente ermöglichen?
Beitrag von: Bruce Willis am 30.03.17 - 11:53:07
Vielen Dank!

Der REST Client von Chrome namens "Advanced REST Client" scheint die Auth zu unterstützen.
Damit klappt es.

Gruß
Leo