Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Webserver01

#1
Hallo,

ich habe es nocheinmal probiert und den Quellcode des Webinterfaces durchgelesen. Dabei sind mir folgende Zeilen ausgefallen, die etwas mit dem Header zu tun haben könnten.

  $( document ).ready(function() {
                // hook into jquery ajax requests to ensure csrf handling.
                $.ajaxSetup({
                    'beforeSend': function(xhr) {
                        xhr.setRequestHeader("X-CSRFToken", "----------------------------------------" );
                        xhr.setRequestHeader("X-CSRFTokenKey", "----------------------------------------" );
                    }
                });


Die "-----" waren die Daten, die ich unkenntlich gemacht habe.

Für was sind "X-CSRFToken" und "X-CSRFTokenKey"?
Sind das zufälliger Weise die Headernamen?

Danke im vorraus
#2
Danke für deine Antwort!

Ich werde es morgen mal probieren!
#3
Danke für deine Antwort.

Ich habe mir deinen Tipp mit dem HTTP-Header zu Herzen genommen und mal den Code gebastelt:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
$(document).ready(function(){
    $("button").click(function(){
        $.ajax({
            url: "http://192.168.0.1/api/captiveportal/voucher/generateVouchers/voucher/",
            type: "POST",
            dataType: "json",
            headers: { "HeaderName": "meinApiKey" },
                    sendData={
                        'count':"1",
                        'validity':"14400",
                        'vouchergroup':"test"
                    }
        });
    });
</script>
<button>senden</button>



Wo liegt der Fehler?
#4
Hallo ich bin's nochmal,

langsam bin ich am verzweifeln. Ich habe es nochmal mit einem Javascript versucht, welches die Daten mit einem Ajax Post an den Apicontroller schickt, mit dem obigen Code und dem jRuby Client. Alles ohne Erfolg.

Hat jemand noch eine Idee?

Danke im voraus!
#5
Stimmt das habe ich komplett übersehen. Trotzdem erscheint nur eine weiße Seite.
Das ist ein Auszug aus meiner Datei:
<form action="http://192.168.0.1/api/captiveportal/voucher/generateVouchers/voucher.json" method="post">
  <div>
    <label>Anzahl</label>
    <input name="count" id="count" value="1">
  </div>
  <div>
    <label>Zeit</label>
    <input name="validity" id="validity">
  </div>
<div>
    <label>Gruppe</label>
    <input name="vouchergroup" id="vouchergroup">
  </div>
  <div>
    <button>erstellen</button>
  </div>
</form>
#6
Danke euch erstmal für die schnelle Antwort.

Nun bleibt nur noch die Frage, wie die einzelnen Formulareingabemasken heißen müssen.
So gab er mir nur die weiße Seite aus:
voucher-quantity > Anzahl
voucher-groupname > Gruppenname
voucher-validity > Gültigkeit

Danke schon mal für eure Hilfe
#7
Der Fehler war das ich den Voucherprovider in der URL vergessen habe.

http://192.168.0.1/api/captiveportal/voucher/generateVouchers/voucher?count=1&voucher-validity=400&vouchergroup=2017

Nun kommt als Status error

Was mache ich falsch?
#8
Ersteinmal Danke für Eure fantastische Hilfe,

ich hab's nun noch einmal anders probiert:

http://192.168.0.1/api/captiveportal/voucher/generatevouchers?data={%20%27count%27:1,%20%27validity%27:400,%20%27vouchergroup%27:%20201707%20}

Doch leider kommt die Fehlermeldung:

{"errorMessage":"Error at /usr/local/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/VoucherController.php:132 - Missing argument 1 for OPNsense\\CaptivePortal\\Api\\VoucherController::generateVouchersAction() (errno=2)"}

In dieser Datei wird die Funktion: public function generateVouchersAction($provider) beschrieben. Die wahrscheinlich für die Anzeige der Fehlermeldungen zuständig ist. Wo liegt in meinen API-Request der Fehler?

Danke schonmal im Voraus!
#9
Danke für die schnelle Antwort.

Bloß wie geht das mit dem sendData in der API-URL. Also wie muss da die URL aussehen.

Danke im voraus!
#10
Hallo liebe Forum-User,

Ich habe ein kleines Problem: Ich möchte, dass die Voucher mittels API-Aufruf erzeugt werden und anschließend im Webbrowser angezeigt werden. Das Projekt https://github.com/fabianfrz/OPNsense-client-library-sample habe ich schon ausprobiert leider ist das nichts für mich.

Mich interessiert im Grunde nur die API-URL, um Voucher zu erstellen, diese habe ich nicht gefunden.

Danke im Voraus!