Как интегрировать библиотеку simplesamlphp и обновлять конфигурацию при обновлении composer в Zend Framework3

#php #zend-framework #simplesamlphp

#php #zend-framework #simplesamlphp

Вопрос:

Я установил библиотеку SIMPLESAMLPHP с помощью composer, используя

композитору требуется simplesamlphp / simplesamlphp

Для настройки мне нужно добавить saml-autoconfig.php файл в корне моей библиотеки SIMPLESAMLPHP.Но моя папка поставщика находится в файле .gitignore.

Когда я обновляю всю конфигурацию моего composer @production с помощью saml-autoconfig.php файл пропадает.

Мне нужно настроить его, когда мой композитор получит обновление.

Если у кого-нибудь есть идея.Пожалуйста, помогите

Мне нужно добавить следующий файл с конфигурацией

1) В saml-autoconfig.php .

 $metadata_url_for = array(
    /* WARNING WARNING WARNING
     *   You MUST remove the testing IdP (idp.oktadev.com) from a production system,
     *   as the testing IdP will allow ANYBODY to log in as ANY USER!
     * WARNING WARNING WARNING
     * For testing with http://saml.oktadev.com use the line below:
     */
     // 'test' => 'http://idp.oktadev.com/metadata',
);
 

2)vendor/simplesamlphp/config.php

 'baseurlpath'=>''
 

3)vendor/simplesamlphpauthsources.php

  'default-sp'=>''  //its default one .I want to add more sp.
 

Как я добавляю динамически saml-autoconfig.php этот файл и установите мою конфигурацию.

Комментарии:

1. Как включить / использовать библиотеку simplesamlphp на моем контроллере и создать библиотеку объектных форм, например $as = new SimpleSAML_Auth_Simple($ sp);

Ответ №1:

Если вы хотите выполнить команду после того, как composer завершил процесс установки / обновления, вы можете использовать опции post-install-cmd и post-update-cmd .

В этом случае, предполагая, что config папка содержит вашу конфигурацию, вам необходимо добавить это в свой composer.json :

 {
    "require": {
        "simplesamlphp/simplesamlphp": "^1.17"
    },
    "scripts": {
        "post-install-cmd": [
            "cp ./config/config.php ./vendor/simplesamlphp/config.php",
            "cp ./config/authsources.php ./vendor/simplesamlphp/authsources.php"
        ],
        "post-update-cmd": [
            "cp ./config/config.php ./vendor/simplesamlphp/config.php",
            "cp ./config/authsources.php ./vendor/simplesamlphp/authsources.php"
        ]
    }
}
 

Я также загрузил simplesamlphp библиотеку, и путь, который вы указали, кажется неправильным. Правильный путь для установки файлов конфигурации должен быть vendor/simplesamlphp/simplesamlphp/config

Комментарии:

1. Еще один вопрос. Я добавил состояние реле localhost:8080/index.php/?saml_sso=example в IDP. Я пытаюсь протестировать @local enviornment. Возможно ли это с помощью порта?

2. Я никогда не использовал эту библиотеку, поэтому я не знаю, возможно ли это или нет. Было бы лучше посмотреть на это: github.com/simplesamlphp/simplesamlphp/issues/337