НастройкиВосстановленияПароля.ТокенДоступа

Свойства · AccessToken

Тип: Строка. Содержит токен доступа для аутентификации на SMTP-сервере. Поведение аналогично свойству ТокенДоступа типа ИнтернетПочтовыйПрофиль (внутри используется один и тот же механизм).

Полное описание, параметры и ограничения

НастройкиВосстановленияПароля.ТокенДоступа (PasswordRecoverySettings.AccessToken)

НастройкиВосстановленияПароля (PasswordRecoverySettings)

ТокенДоступа (AccessToken)

Доступен, начиная с версии 8.3.27.

Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит токен доступа для аутентификации на SMTP-сервере.
Поведение аналогично свойству ТокенДоступа типа ИнтернетПочтовыйПрофиль (внутри используется один и тот же механизм).
Доступность:

Сервер, толстый клиент.

Использование в версии:

Доступен, начиная с версии 8.3.27.

Методическая информация

Практические примеры

Сравнить способы восстановления без их запуска

Три отдельных проекта различают отключённый способ, отправку по заданным параметрам и стандартный сервис. Режим OAuth2 исследуем отдельно: значение Использовать не выдаёт токен.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт и вызовите своей учебной командой.

  2. Во всех задачах Новый НастройкиВосстановленияПароля создаёт собственный объект в памяти. Код не устанавливает дополнительные параметры информационной базы и не запускает восстановление пароля.

  3. Не подставляйте реальные SMTP-пароли, OAuth-токены, адреса сотрудников и рабочие ссылки. example.invalid — учебный адрес, не настроенный почтовый сервер.

  4. Каждый пример выполняйте отдельно. Вывод и свойства проверяются в сообщениях/отладчике; доставки письма, изменения пароля и открытия сайта не будет.

Проект = Новый НастройкиВосстановленияПароля;
Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет;
ПоПараметрам = Новый НастройкиВосстановленияПароля;
ПоПараметрам.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.ОтправкаКодаПодтвержденияПоЗаданнымПараметрам;
Стандартный = Новый НастройкиВосстановленияПароля;
Стандартный.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.ОтправкаКодаПодтвержденияЧерезСтандартныйСервис;
ПоПараметрам.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
ПоПараметрам.ТокенДоступа = "";
ПоПараметрам.ПарольSMTP = "";
Сообщить(Проект.СпособВосстановленияПароля <> ПоПараметрам.СпособВосстановленияПароля);
Сообщить(ПоПараметрам.СпособВосстановленияПароля <> Стандартный.СпособВосстановленияПароля);
Сообщить(ПоПараметрам.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать);
Сообщить(ПоПараметрам.ТокенДоступа = "");
Сообщить(ПоПараметрам.ПарольSMTP = "");

Разбор по шагам

  1. Конструктор вызывается для каждого отдельного проекта; действующий параметр информационной базы не читается и не устанавливается.

  2. ОтправкаКодаПодтвержденияПоЗаданнымПараметрам использует параметры заданного сервиса; ЧерезСтандартныйСервис — другой способ, не синоним этой настройки SMTP.

  3. Присваиваем режим токенной аутентификации только локальному объекту. Секретные строки остаются пустыми.

  4. Проверяем различие способов и пустоту секретов. В примере нет получения токена, проверки логина и отправки запроса.

Как проверить результат

  1. Пять сравнений Истина. Использовать и пустой ТокенДоступа сосуществуют в локальном проекте — авторизация не произошла.

  2. Три способа представлены разными значениями перечисления, а не одинаковой строкой имени сервиса.

Ожидаемый результат

Разделены способ восстановления, режим SMTP-аутентификации и фактическое выполнение.

На что обратить внимание

  1. Неприменённый проект с пустыми секретами не является готовой рабочей настройкой.

  2. Не предполагайте успешную доставку через стандартный сервис по одному значению свойства.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Отличить условный порт SMTP от явно заданного

Готовим проект защищённого SMTP-маршрута без настоящего сервера и секретов. Порт 0 при SSL означает 465; затем задаём 465 явно и проверяем поля проекта.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт и вызовите своей учебной командой.

  2. Во всех задачах Новый НастройкиВосстановленияПароля создаёт собственный объект в памяти. Код не устанавливает дополнительные параметры информационной базы и не запускает восстановление пароля.

  3. Не подставляйте реальные SMTP-пароли, OAuth-токены, адреса сотрудников и рабочие ссылки. example.invalid — учебный адрес, не настроенный почтовый сервер.

  4. Каждый пример выполняйте отдельно. Вывод и свойства проверяются в сообщениях/отладчике; доставки письма, изменения пароля и открытия сайта не будет.

Проект = Новый НастройкиВосстановленияПароля;
Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет;
Проект.АдресСервераSMTP = "smtp.example.invalid";
Проект.ИспользоватьSSL = Истина;
Проект.ПортSMTP = 0;
Если Проект.ПортSMTP = 0 Тогда
    Если Проект.ИспользоватьSSL Тогда
        РасчётныйПорт = 465;
    Иначе
        РасчётныйПорт = 25;
    КонецЕсли;
Иначе
    РасчётныйПорт = Проект.ПортSMTP;
КонецЕсли;
Сообщить(РасчётныйПорт = 465);
Проект.ПортSMTP = 465;
Проект.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать;
Проект.ПользовательSMTP = "";
Проект.ПарольSMTP = "";
Проект.ТокенДоступа = "";
Проект.ТолькоЗащищеннаяАутентификацияSMTP = Истина;
Сообщить(Проект.АдресСервераSMTP = "smtp.example.invalid");
Сообщить(Проект.ИспользоватьSSL);
Сообщить(Проект.ПортSMTP = 465);
Сообщить(Проект.ПользовательSMTP = "");
Сообщить(Проект.ПарольSMTP = "");
Сообщить(Проект.ТокенДоступа = "");
Сообщить(Проект.ТолькоЗащищеннаяАутентификацияSMTP);

Разбор по шагам

  1. Выбор эффективного порта воспроизводит документированную логику: 465 для SSL либо 25 для незащищённого режима при ПортSMTP=0.

  2. В собственной ветке ИспользоватьSSL=Истина. Незащищённое подключение не устанавливается.

  3. После расчёта задаём порт явно. Пользователь/пароль/токен остаются пустыми; метод восстановления всё ещё Нет.

  4. ТолькоЗащищеннаяАутентификацияSMTP ограничивает способы аутентификации протокола; это не синоним SSL и не доказательство защиты соединения.

Как проверить результат

  1. Восемь сообщений Истина; никаких соединений и писем.

  2. Укажите в проекте собственное учебное число порта вместо 0 перед расчётом: расчёт должен вернуть именно это число, не автоматически 465.

Ожидаемый результат

Разобраны адрес, SSL, порт и раздельные поля секретов в неприменённом проекте.

На что обратить внимание

  1. example.invalid непригоден для доставки. Пустые секреты не являются рабочей настройкой авторизации.

  2. Справка этого свойства описывает защищённый способ CRAM-MD5; не приравнивайте его к OAuth2 или современным рекомендациям без проверки требований провайдера.

  3. ПарольSMTP допускает только US-ASCII. Здесь пароль не вводится и не выводится.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.