Skip to content

Commit 8dba92d

Browse files
authored
feat: Add CSP nonce support for @paddlejs directive (#297)
1 parent 9dfa7a4 commit 8dba92d

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

resources/views/js.blade.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@
1313
if (isset($seller['pwAuth']) && Auth::check() && $customer = Auth::user()->customer) {
1414
$seller['pwCustomer'] = ['id' => $customer->paddle_id];
1515
}
16+
17+
$nonce = $nonce ?? '';
1618
?>
1719

18-
<script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
20+
<script src="https://cdn.paddle.com/paddle/v2/paddle.js" @if ($nonce) nonce="{{ $nonce }}" @endif></script>
1921

2022
@if (config('cashier.sandbox'))
21-
<script type="text/javascript">
23+
<script type="text/javascript" @if ($nonce) nonce="{{ $nonce }}" @endif>
2224
Paddle.Environment.set('sandbox');
2325
</script>
2426
@endif
2527

26-
<script type="text/javascript">
28+
<script type="text/javascript" @if ($nonce) nonce="{{ $nonce }}" @endif>
2729
Paddle.Initialize(@json($seller));
2830
</script>

src/CashierServiceProvider.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ protected function bootPublishing()
9393
*/
9494
protected function bootDirectives()
9595
{
96-
Blade::directive('paddleJS', function () {
97-
return "<?php echo view('cashier::js'); ?>";
96+
Blade::directive('paddleJS', function ($expression) {
97+
return "<?php echo view('cashier::js', ['nonce' => {$expression}['nonce'] ?? '']); ?>";
9898
});
9999
}
100100

0 commit comments

Comments
 (0)