PHPackages                             itk-dev/beskedfordeler-drupal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. itk-dev/beskedfordeler-drupal

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

itk-dev/beskedfordeler-drupal
=============================

Beskedfordeler for Drupal

1.2.1(1y ago)08.1k↓38.9%1[1 PRs](https://github.com/itk-dev/beskedfordeler-drupal/pulls)3MITPHP

Since Feb 10Pushed 1y ago3 watchersCompare

[ Source](https://github.com/itk-dev/beskedfordeler-drupal)[ Packagist](https://packagist.org/packages/itk-dev/beskedfordeler-drupal)[ RSS](/packages/itk-dev-beskedfordeler-drupal/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (7)Versions (7)Used By (3)

Beskedfordeler
==============

[](#beskedfordeler)

Beskedfordeler for Drupal.

» “Kom godt i gang med” » “Fælleskommunal Beskedfordeler” ()

» “Kom godt i gang med” » “Certifikater” ()

Installation
------------

[](#installation)

```
composer require itk-dev/beskedfordeler-drupal
drush pm:enable beskedfordeler
```

Installing the module enables an `beskedfordeler/PostStatusBeskedModtag`endpoint to which the Beskedfordeler can send messages. See “[Fælleskommunal Beskedfordeler](https://docs.kombit.dk/latest/ba48e791)” for some details on how to use the endpoint.

Client certificates
-------------------

[](#client-certificates)

Download root certificates from .

For testing purposes self-signed certificates kan be used. See for details and make a request along the lines of

```
curl --location --data '' --header 'content-type: application/xml' …/beskedfordeler/PostStatusBeskedModtag --cert user.pfx --cert-type P12
```

nginx setup
-----------

[](#nginx-setup)

Beskedfordeler requires ["Mutual TLS"](https://www.google.com/search?q=Mutual+TLS) (cf. ) and we need some special `nginx`tricks to make this work on just the Beskedfordeler routes (cf. ).

```
server {
  …

  # Enables mutual TLS/two way SSL to verify the client
  # We use `optional` (rather than `on`) to be able to require this only on the Beskedfordeler routes (cf. ).
  ssl_verify_client optional;
  ssl_client_certificate …/trusted_ca.pem;

  # We may be redirected to to a path with a language prefix and therefore we check if end of location match the Beskedfordeler route.
  location ~ /beskedfordeler/PostStatusBeskedModtag$ {
    @see https://serverfault.com/a/1068211
    if ($ssl_client_verify != "SUCCESS") { return 403; }

    # Pass the request on to Drupal
    rewrite ^/(.*)$ /index.php?q=$1 last;
  }

  …

  location ~ '\.php$|^/update.php' {
    …

    # Include ssl info for debugging (cf. https://serverfault.com/a/1068211)
    fastcgi_param SSL_CLIENT_VERIFY $ssl_client_verify;
    fastcgi_param SSL_CLIENT_S_DN $ssl_client_s_dn;
    fastcgi_param SSL_CLIENT_I_DN $ssl_client_i_dn;
    fastcgi_param SSL_PROTOCOL $ssl_protocol;
    fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial;
    fastcgi_param SSL_CLIENT_V_END $ssl_client_v_end;
    fastcgi_param SSL_CLIENT_V_REMAIN $ssl_client_v_remain;
    fastcgi_param SSL_CLIENT_FINGERPRINT $ssl_client_fingerprint;

    …
  }
}
```

Event subscribers
-----------------

[](#event-subscribers)

An event subscriber must be created to do something useful when getting a message from Beskedfordeler:

```
