I am trying to integrate our company's SSO into our Drupal installation. As a POC to see if it even works, I have a copy of the SimpleSAMLPhp Library located at /foo/bar/simplesamlphp
. I configured my apache vhost and the SAML configs and that's all fine for now.
Per the instructions from Acquia on this page, I tried installing the drupal/simplesamlphp_auth
module.
composer require drupal/simplesamlphp_auth
This installed the module and as a dependency, installed a second copy of the simplesamlphp
library in vendor/simplesamlphp
. Now it looks like the module simplesamlphp_auth
is using the installation in vendor
.
How do I configure this module to use the one I already placed in /foo/bar/simplesamlphp
? There doesn't seem to be any options on the page /admin/config/people/simplesamlphp_auth
.
I have configuration files that I would like to avoid copying over to the vendor
directory after each deployment if possible, since that's not as secure as keeping the configs outside of the project altogether.
EDIT 1
Clarification on the configuration files: I need to define configuration files in /foo/bar/simplesamlphp/config
in order for it to work. These configuration files are missing from vendor/simplesamlphp/config
and without them the application encounters a fatal error. As stated in the Acquia document above, the library lives outside of vendor/
or docroot/
in their setup.
vendor/
. If you are using composer to get the module, you might as well be using it to manage dependencies as well. The modules composer.json file likely lists it as a dependency, so it gets fetched. "I have configuration files that I would like to avoid copying over to the vendor directory" - what does this mean?vendor/
directory is missing configuration files, without them the site gives a WSOD. On deployment, I would have to take an additional step of copying the configurations I have/foo/bar/simplesamlphp/config
to the one invendor/simplesamlphp/config
. It seems a little weird to modify the vendor directory outside of acomposer
command.- rm -rf $TRAVIS_BUILD_DIR/vendor/simplesamlphp/simplesamlphp/config
and- ln -s $TRAVIS_BUILD_DIR/simplesamlphp/config $TRAVIS_BUILD_DIR/vendor/simplesamlphp/simplesamlphp/config
.... this points the config folder to a location in your project outside of vendor. The library won't know the difference.