Nieuw: de OpenC Connectors voor Claris Connect! Lees hier meer.

OpenC
Blog Claris FileMaker

“401 Unauthorized” oplossen voor FileMaker container-URL's

Romein van Buren Romein van Buren

Tijdens het testen van de OpenC Documentor voor Claris Connect, die PDF- en Word-documenten genereert van Word-sjablonen, had ik een openbare URL nodig naar het templatedocument.

Gelukkig retourneert Claris FileMaker openbare URL's naar de inhoud van containervelden wanneer deze worden opgevraagd via de Data API. En om het nog eenvoudiger te maken, bevat Claris Connect een handige actie die precies dit doet.

Connect, get container link

Mooi, dus ik zou nu een mooie openbare URL naar mijn bestand moeten hebben...

Browser error reading “401 Unauthorized”

Te vroeg gejuicht.

De oplossing

Ik ben een uur bezig geweest om dit op te lossen, maar de oplossing was eenvoudig. Het heeft allemaal te maken met de AuthenticatedStream optie van Claris FileMaker Server, die keurig gedocumenteerd bleek te zijn:

De AuthenticatedStream parameter bepaalt of Claris Connect [en elke andere Data API client] toegang heeft tot containervelddata. Claris Connect heeft toegang tot gegevens over containervelden als u de standaardinstelling voor de parameter AuthenticatedStream wijzigt. Standaard is de AuthenticatedStream parameter ingesteld op 1, wat de toegang beperkt. Als je de parameter instelt op 2, kunnen connectors gegevens over containervelden gebruiken zonder expliciete authenticatie.

Deze instelling kan niet worden gewijzigd via de beheerconsole, dus we hebben terminal toegang nodig op onze server om het in te stellen door dit commando uit te voeren:

fmsadmin set serverprefs AuthenticatedStream=2

"Zonder authenticatie" ?!

Zoals we hebben gelezen:

Door de parameter op 2 te zetten, kunnen connectors gegevens uit containervelden gebruiken zonder expliciete authenticatie.

"Geeft dit niet iedereen toegang tot onze containervelden?" vraag je je terecht af. In theorie is het antwoord "ja, dat doet het". Dat was het hele punt: containerinhoud blootstellen via een openbare URL, wat eerlijk gezegd heel voorspelbaar is:

https://myfmserver.com/Streaming_SSL/MainDB/<ID_OF_THE_FILE>.pdf?RCType=EmbeddedRCFileProcessor

"Maar je hoeft alleen maar de bestands-ID te raden om toegang te krijgen tot elk bestand in mijn FileMaker-app!"

Het is een willekeurige hexadecimale tekenreeks van 64 bytes. Je zou dus alle 115.792.089.200.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000 mogelijke combinaties moeten proberen, dus wees gerust (of ga de uitdaging aan!).

Hebt u ooit te maken gehad met een soortgelijk probleem met Claris FileMaker Server waarvoor u wel of geen oplossing hebt gevonden? Deel uw ervaring hieronder in de opmerkingen.

Opmerkingen (0)