mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-08 20:22:42 +01:00
Support setting subscription secret
This commit is contained in:
parent
4777586dbe
commit
937652390b
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Events;
|
namespace App\Events;
|
||||||
|
@ -911,32 +911,6 @@ class Utils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function notifyZapier($subscription, $data)
|
|
||||||
{
|
|
||||||
$curl = curl_init();
|
|
||||||
$jsonEncodedData = json_encode($data);
|
|
||||||
|
|
||||||
$opts = [
|
|
||||||
CURLOPT_URL => $subscription->target_url,
|
|
||||||
CURLOPT_RETURNTRANSFER => true,
|
|
||||||
CURLOPT_CUSTOMREQUEST => 'POST',
|
|
||||||
CURLOPT_POST => 1,
|
|
||||||
CURLOPT_POSTFIELDS => $jsonEncodedData,
|
|
||||||
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'Content-Length: '.strlen($jsonEncodedData)],
|
|
||||||
];
|
|
||||||
|
|
||||||
curl_setopt_array($curl, $opts);
|
|
||||||
|
|
||||||
$result = curl_exec($curl);
|
|
||||||
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
|
||||||
|
|
||||||
curl_close($curl);
|
|
||||||
|
|
||||||
if ($status == 410) {
|
|
||||||
$subscription->delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getApiHeaders($count = 0)
|
public static function getApiHeaders($count = 0)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
@ -257,7 +257,39 @@ class SubscriptionListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($subscriptions as $subscription) {
|
foreach ($subscriptions as $subscription) {
|
||||||
Utils::notifyZapier($subscription, $data);
|
self::notifySubscription($subscription, $data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function notifySubscription($subscription, $data)
|
||||||
|
{
|
||||||
|
$curl = curl_init();
|
||||||
|
$jsonEncodedData = json_encode($data);
|
||||||
|
$url = $subscription->target_url;
|
||||||
|
|
||||||
|
if (! Utils::isNinja() && $secret = env('SUBSCRIPTION_SECRET')) {
|
||||||
|
$url .= '?secret=' . $secret;
|
||||||
|
}
|
||||||
|
|
||||||
|
$opts = [
|
||||||
|
CURLOPT_URL => $url,
|
||||||
|
CURLOPT_RETURNTRANSFER => true,
|
||||||
|
CURLOPT_CUSTOMREQUEST => 'POST',
|
||||||
|
CURLOPT_POST => 1,
|
||||||
|
CURLOPT_POSTFIELDS => $jsonEncodedData,
|
||||||
|
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'Content-Length: '.strlen($jsonEncodedData)],
|
||||||
|
];
|
||||||
|
|
||||||
|
curl_setopt_array($curl, $opts);
|
||||||
|
|
||||||
|
$result = curl_exec($curl);
|
||||||
|
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||||
|
|
||||||
|
curl_close($curl);
|
||||||
|
|
||||||
|
if ($status == 410) {
|
||||||
|
$subscription->delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -99,9 +99,9 @@ Security
|
|||||||
|
|
||||||
To require a password to update the app add ``UPDATE_SECRET=random_value`` to the .env file and then use /update?secret=random_value to update.
|
To require a password to update the app add ``UPDATE_SECRET=random_value`` to the .env file and then use /update?secret=random_value to update.
|
||||||
|
|
||||||
By default the app clears the session when the browser is closed and automatically logs the user out after 8 hours.
|
By default the app clears the session when the browser is closed and automatically logs the user out after 8 hours. This can be modified by setting ``REMEMBER_ME_ENABLED`` and ``AUTO_LOGOUT_SECONDS`` in the .env file.
|
||||||
|
|
||||||
This can be modified by setting ``REMEMBER_ME_ENABLED`` and ``AUTO_LOGOUT_SECONDS`` in the .env file.
|
To include a secret when notifying subscriptions add ``SUBSCRIPTION_SECRET=random_value`` to the .env file.
|
||||||
|
|
||||||
Google Map
|
Google Map
|
||||||
""""""""""
|
""""""""""
|
||||||
|
Loading…
Reference in New Issue
Block a user