© 2014 - 2024 esia.pro
FAQ 1С Bitrix
Вопрос | Ответ |
---|---|
Что делать, если модуль не запрашивает необходимые данные? | Вы можете их запросить дополнительно и сохранить куда вам нужно. Код для запроса дополнительной информации лучше написать в fns/Customize.php, там есть функция, CustomEntryPoint() в неё передаётся все необходимое для запроса дополнительных данных. |
Где можно посмотреть информацию, соответствующую fullname и id_doc? | Часть информации из fullname попадает в стандартные поля, а часть в пользовательские, то что попадает в стандартные можно посмотреть в таблице b_user, а то, что в пользовательские будет записано в таблице b_uts_user |
Подскажите наименование и типы полей, которые мы должны создать по данным этих scope: fullname, birthdate, gender, snils, id_doc, email, mobile, служебный openid. И просьба указать типы полей для приведенных выше UF_DOC_TYPE, UF_DOC_SERIES, UF_DOC_NUMBER, UF_DOC_GIVEN_OUT | Поля модуль создает автоматически |
Как корректно задать параметр OAuth2OnlyTrustedUsers? | Параметр задаётся как массив. Например, вот так: 'OAuth2UserAccountTypes' => array(OAuth2Configuration::USER_ACCOUNT_CONFIRMED, OAuth2Configuration::USER_ACCOUNT_STANDARD) В этом варианте модулю авторизации разрешается авторизоваться пользователям с подтверждённой и стандартной учётной записью. Если OAuth2Configuration недоступно в области подключения компоненты, то в качестве значений массива можно подставить символьные константы 'CONFIRMED' и 'STANDARD' соответственно. То есть должно получиться так: 'OAuth2UserAccountTypes' => array(OAuth2Configuration::'CONFIRMED', OAuth2Configuration::'STANDARD') |
Где задать путь и имена сертификатов? | В параметрах конфигурации компоненты нужно установить параметры OAuth2CertPath, OAuth2PkeyPath и OAuth2EsiaCertPath |
Что за параметр =UF_ESIA_SBJ_ID по которому ищется пользователь? | Это пользовательское поле, которое содержит уникальный идентификатор субъекта (пользователя) на стороне ЕСИА. Значение этого поля можно увидеть в профиле пользователя |
Что именно означают параметры конфигурации OAuth2UseBackgroundAuth, OAuth2StrObjARE, OAuth2RefreshTokenUri? | Все параметры описаны в инструкции по интеграции модуля авторизации. |
Как сделать так, чтобы после удачной авторизации на сайте Госуслуг данные входа не сохранялись? То есть при повторной попытке входа на сайт через Госуслуги данные не подставлялись автоматически, а нужно было вводить логин и пароль. | Выполняйте логаут пользователя. |
Мультисайтовость, Битрикс один редакция Бизнес, в админке два сайта домен на русском и домен на английском, будет голосование на русском и на ангийском сайте, модуль авторизации будет при этом работать? | Да, будет. |
Каким будет поведение модуля авторизации в случае когда в Битриксе email является обязательным к заполнению полем, а в профиле ЕСИА у пользователя email не указан? | В этом случае модуль формирует фиктивный email, которым будет заполнено соответствующее поле. |
Почему после авторизации на портале госуслуг и последующего редиректа в ИС пользователь не авторизуется в Битрикс, а остается Временный пользователь и редирект происходит не на URL страницы с которой происходила авторизация, а на главную страницу (страницу по-умолчанию)? | Во-первых, необходимо проверить, что на стороне ЕСИА не возникло ошибки. Обычно это видно в URL возврата или в логах тестовой ЕСИА. Во-вторых, необходимо проверить, что значение state возвращаемое ЕСИА совпадает с сохраненным, еще до авторизации на портале, значением $_SESSION[‘esia_oauth_state’]. Если значения esia_oauth_state в массиве $_SESSION нет, то необходимо проверить доступность каталога, в котором сохраняются пользовательские сессии, для записи. |
Где лог в модуле Битрикс | Лог есть он в директории var/Log/ в рабочем каталоге компоненты |
Мы получили ссылку на модуль gostengine, но есть вопрос, как запустить это все дело в виртуальной машине Битрикс, и не получить ролевого конфликта (у нас предполагается 1 сервер БД, 1 сервер приложений). | Обновлять openssl и устанавливать расширение gostengine лучше от того пользователя, от которого выполняются php-скрипты. В виртуальной машине Битрикс, скорее всего, таким пользователем будет bitrix. Возможно, для установки обновлений ему нужно будет временно дать расширенные права sudo |
Всегда ли в госуслугах присутствует мобильный телефон у профиля, и можно ли как то выставить чтобы мы не пропускали пользователей у которых он отсутствует на уровне договора или компонента битрикса, например, если такие пользователи встречаются только у упрощенных профилей и или есть точка входа для того чтобы отменить регистрацию если у пользователя отсутствуют данные | Номер мобильного телефона может отсутствовать или быть не подтверждённым. Чтобы не отменять регистрацию пользователя лучше его в рамках логики компоненты вообще не регистрировать, а только сохранить его данные в текущей сессии (параметр OAuth2SaveUserDataInSession => 'Y') и далее, в модуле Customize.php или в каком-то внешнем обработчике сделать проверку наличия всех необходимых данных и по результатам авторизовать пользователя или нет. |
getPersonAddresses() - Что используется в качестве адреса? Место фактического проживания или адрес постоянной регистрации? | Этот метод возвращает список адресов. В каждом элементе списка присутствует атрибут type, который может иметь значения PLV и PRG “PLV” – адрес места проживания; “PRG” – адрес места регистрации |
Чтобы получить данные о пользователе, он должен пройти авторизацию, затем мы отправляем запрос на получение скоупов и нам не нужен параметр oid? - Есть ли пример запроса PHP на получение скоупов? | Битрикс формирует все необходимые запросы к ЕСИА и в отладочном режиме пишет их в лог. При необходимости по логу можно отследить всю цепочку запросов. |
Как получать данные из профиля пользователя? | Есть документация по API Bitrix, если вы планируете получать данные из профиля пользователя. Также можно получать данные напрямую из базы. Ещё есть вариант получать данные от нашей компоненты в виде массива. Выбирайте, что вам больше подходит. |
Чтобы авторизованный пользователь не был как пользователь битрикс, необходимо OAuth2RequestIdentityTokenOnly перевести в FALSE? | OAuth2SaveUserDataInSession - Принимает значения Y/N. В случае задания значения N определяет необходимость создания учётной записи Битрикс с целью записи данных пользователя полученных из ЕСИА и последующей авторизацией в клиентской системе. В случае задания значения Y позволяет сохранять данные, полученные из ЕСИА, в гостевой сессии, не создавая учётной записи в Битрикс и не авторизуя пользователя. Для извлечения данных, сохранённых в сессии необходимо из глобального массива $_SESSION получить значение по ключу 'ESIA_DATA'. Данные в сессии хранятся в формате JSON. Для параметра OAuth2RequestIdentityTokenOnly установите значение FALSE, иначе запросы на получение данных модуль посылать не будет |
Записи "upstream sent too big header while reading response header from upstream", которые означают, что отправлены слишком большие заголовки? | На нашем стенде тоже была такая проблема. После тюнинга NginX всё заработало. Вот такие параметры в конфиге нашего NginX client_max_body_size 32M; large_client_header_buffers 4 32k; proxy_buffer_size 64k; proxy_buffers 4 64k; proxy_busy_buffers_size 64k; |