img3

© 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;
  • FAQ 1С Bitrix