1с фреш пользователь не авторизован провайдером сервиса для разработки
Провайдер аутентификации облачного сервиса Фреш позволяет войти в приложение пользователя из стороннего сервиса без использования дополнительной аутентификации и авторизации.
Этот способ аутентификации предназначен для организации "прозрачного" входа по технологии единого входа ( Single Sign-On ) , когда пользователь уже работает в своем личном кабинете в стороннем (по отношению к сервису Фреш) сервисе.
Организация единого входа возможна 2-мя способами:
- Если сторонний сервис поддерживает технологию OAuth2 или OpenID-Connect, то на стороне сервиса Фреш нужно выполнить настройки в соответствии с данными провайдера стороннего сервиса.
- Если сторонний сервис не поддерживает технологию OAuth2 или OpenID-Connect, то на стороне этого сервиса должна быть выполнена разработка для обеспечения поддержки прозрачной аутентификации.
Настройка сервиса Фреш для "прозрачного" входа из сервисов, поддерживающих OAuth2 и OpenID-Connect описана в главе "Использование сторонних провайдеров аутентификации" документа "1С:Облачная подсистема Фреш".
Схема работы с использованием OAuth2 или OpenId-Connect
Также поддерживаются некоторые отступления от стандарта, чтобы реализовать возможность авторизации через провайдеры, которые реализуют только OAuth2 и не используют стандарт OpenID-Connect целиком. Подробнее см. главу документации Продвинутые настройки взаимодействия с провайдером аутентификации.
Подключение приложения
Для подключения в стороннем провайдере необходимо установить идентификаторы приложения Фреш:
Точки взаимодействия
Получение ключа доступа
Идентификатор приложения Фреш
Адрес, на который будет переадресован пользователь после прохождения авторизации. Должен совпадать с redirect_uri, указанным на этапе подключения приложения Фреш
Набор разрешений, запрашиваемых приложением Фреш у провайдера, бывает не обязателен для определенных провайдеров.
Тип ответа, который необходимо получить. Фреш использует параметр code.
Любое значение, которое провайдер вернет на redirect_uri. Фреш использует JWT-токен для передачи значений возврата.
2. Разрешение прав доступа. Если пользователь не авторизован, ему будет показана форма входа провайдера. После успешного входа пользователю будет предложено авторизовать приложение, разрешив доступ к своим данным.
Защищенный ключ приложения
Адрес, на который будет переадресован пользователь после прохождения авторизации. Должен совпадать с redirect_uri, указанным на этапе подключения приложения
Код, полученный после прохождения авторизации
Тип запрашиваемого ресурса. Значение равно "authorization_code".
В результате выполнения запроса приложение Фреш ожидает получить JSON c ключами, например:
Поле access_token в общем случае обязательно, но может быть передано и в данных при возврате на запрос разрешения прав доступа (шаг 2).
Получение данных пользователя
В результате выполнения запроса приложение Фреш ожидает получить данные пользователя в ответе в виде JSON, например:
Обрабатываемые свойства, которые ожидает получить приложение Фреш:
Свойство | Обязательное | Описание |
---|---|---|
sub | Да | Идентификатор пользователя с стороннем сервисе для сопоставления пользователя в приложении Фреш |
Да | Адрес электронной почты пользователя. Используется в сервисе Фреш для поиска уже существующих пользователей. В рамках сервиса не может быть указано 2х одинаковых email. | |
phone | Номер телефона | |
first_name | Имя | |
last_name | Фамилия | |
middle_name | Отчество | |
public_id | Публичный идентификатор пользователя, например ИНН. |
Имена свойств могут отличаться. Взаимодействие с провайдером в приложении Фреш настраивается для каждого провайдера индивидуально.
Схема работы без использования OAuth2 и OpenId-Connect
Схема работы, которую должен поддержать сервис, не поддерживающий OAuth2 или OpenID-Connect
Процесс входа пользователя в приложение облачного сервиса Фреш по технологии единого входа без использования OAuth2 или OpenID-Connect:
- Обслуживающая организация перенаправляет пользователя на адрес OpenID-провайдера методом POST. В теле запроса содержатся данные аутентификации, адрес приложения, одноразовый ключ (вместо пароля).
- Данные верифицируются OpenId-провайдером с помощью симметричной подписи без обращению к провайдеру.
- Устанавливает cookie одноразового входа.
- OpenID-провайдер перенаправляет пользователя на адрес приложения.
- Приложение перенаправляет пользователя на OpenID-провайдер и передает OpenID-провайдеру ранее установленную им cookie (это стандартная схема работы с OpenID-провайдером).
- OpenID-провайдер обнаруживает cookie и перенаправляет пользователя на приложение с разрешением входа.
Получение секретного ключа
Для подписи данных авторизации используется секретный ключ. Секретный ключ генерируется OpenID-провайдером облачного сервиса Фреш.
Возможны 2 варианта автоматизированного получения секретного ключа:
- Периодическая отправка ключа, инициируемая облачным сервисом Фреш
- Отправка ключа по запросу от обслуживающей организации
На адрес сервиса для передачи ключа приходит запрос с разметкой JSON c данными:
- id - идентификатор ключа подписи
- expired - срок действия ключа подписи
- key - двоичные данные ключа подписи в формате base64
Адрес OpenID провайдера сервериса
Одноразовый номер для защиты от атак повторного использования (дата в формате XML до Z + GUID)
Генерируется обслуживающей организацией при каждом запросе.
Номер области данных пользователя
Подпись данных обслуживающей организации в формате Base64. Порядок значений для вычисления подписи:
- assoc_handle
- response_nonce
- provider
- user_id
- user
- tenant
Алгоритм вычисления подписи на псевдокоде:
* Для входа можно использовать идентификатор пользователя (user_id) или логин пользователя (user).
Пример страницы для перенаправления пользователя в приложение
Необходимо перенаправлять пользователя на эту HTML страницу в момент нажатия ссылки на вход в приложение.
В этой статье рассказано, какие виды пользователей могут быть в сервисе и какие права имеют эти пользователи.
1. Виды пользователей абонента
Пользователи сервиса бывают трех видов:
- обычный пользователь;
- администратор;
- владелец.
2. Права пользователей
Разные виды пользователей имеют разные права в сервисе:
Минимальный набор прав:
Имеет все права обычного пользователя и может выполнять действия по управлению пользователями:
- добавлять пользователей (как тех, кто еще не работает с сервисом, так и пользователей других);
- управлять правами доступа пользователей к приложениям;
- ограничивать максимальное количество сеансов пользователей с приложениями абонента;
- получать отчеты о работе пользователей.
Имеет все права, которые имеют обычный пользователь и администратор, а также может выполнять административные действия по отношению к пользователям и приложениям, в том числе:
- дать пользователю права администратора или владельца, а также отменить эти права;
- изменить реквизиты абонента (наименование, контактные данные);
- пригласить разработчика расширений конфигурации, дополнительных отчетов или обработок;
- продлить или расширить доступ к сервису на срок до 14 дней.
3. Права пользователей по отношению к приложениям
Права пользователей по отношению к приложениям абонента задаются следующим образом.
- Владельцы, и только они, могут:
- добавлять, удалять и переименовывать приложения;
- создавать в сервисе приложения абонента с загрузкой данных из файла выгрузки или из резервной копии;
- разрешать специалистам службы поддержки сервиса временный доступ в приложения (для расследования ошибок и проблем);
- изменять часовой пояс приложения, запускать переход приложения на новый вариант;
- устанавливать в приложения абонента расширения конфигурации, дополнительные отчеты или обработки, а также удалять их из приложений.
- Возможность выполнять остальные действия с приложениями зависит от наличия у пользователя прав Запуск или Запуск и администрирование по отношению к приложению. Эти права позволяют выполнять следующие действия с приложением:
- запускать приложение на выполнение;
- просматривать сведения о сеансах пользователей с приложением;
- завершать свои сеансы работы с приложением.
Запускать приложение на выполнение, а также выполнять отдельные действия по администрированию приложения:
- создать резервную копию приложения;
- настроить расписание резервного копирования приложения;
- выгрузить резервную копию приложения на локальный компьютер;
- предоставить специалисту службы поддержки сервиса копию приложения (для расследования ошибок и проблем);
- завершать сеансы работы пользователей абонента с приложением;
- посмотреть журнал ошибок для приложения.
Права Запуск или Запуск и администрирование по отношению к приложению пользователям могут предоставить владельцы и администраторы.
По умолчанию владельцы имеют право Запуск и администрирование по отношению ко всем приложениям.
Чтобы настроить права доступа пользователей к конкретной программе, выполните следующие действия:
1.Зайдите в личный кабинет сервиса:
перейдите по ссылке Личный кабинет в окне Мои приложения на сайте сервиса;
или с воспользуйтесь тонким клиентом «1С:Предприятия»:
2. В личном кабинете сервиса выберите программу двойным щелчком на строку в списке приложений.
3. Откроется карточка свойств программы:
4. В этом окне, в таблице пользователей, следует укажите права доступа к этой программе.
Права пользователя на приложение задаются в колонке Право. Можно установить следующие права.
Право | Описание |
---|---|
Запуск | Только запуск приложения |
Запуск и администрирование | Запуск приложения и действия по его администрированию: переход на новую версию, создание резервной копии, восстановление приложения из резервной копии, завершение сеансов работы пользователей с приложением и т. д. |
(Пусто) | Пользователь не будет иметь возможности работать с приложением абонента и даже не будет знать о существовании этого приложения |
Чтобы очистить поле в колонке Право, надо нажать кнопку справа от названия программы. Незаполненное поле в колонке Право означает, что у пользователя не будет доступа к этой программе.
В предыдущей статье мы прошли регистрацию и создали первую нашу базу в облачном сервисе 1С Фреш.
Сегодня мы попробуем разобраться с работой личного кабинета сервиса. Для того чтобы попасть в личный кабинет есть 2 способа.
1. Через официальный сайт
2. Через наш сайт
После клика по ссылке нам будет предложено авторизоваться.
Вводим данные полученные в первой статье. И жмем кнопку войти.
Мы попадаем в начальное окно сервиса. Здесь нас интересует личный кабинет Сервиса 1Cfresh. Попасть в него можно по 2 ссылочкам «Личный кабинет»
Переходим по любой из них.
Мы попадаем в личный кабинет сервиса 1CFRESH. Личный кабинет сервиса можно условно поделить на 2 блока 1- это все что касается работы с базами. 2 – управление аккаунтом.
Давайте подробнее рассмотрим каждый из них.
1. Блок работы с базами
В центральном окне мы видим все имеющиеся у нас базы данных . Пока у нас создана только одна база. В первой колонке идет графическое обозначение конфигурации, во второй наше название, в третьей код базы данных (нужен для ее идентификации и обращении в службу тех. поддержки), далее идет релиз конфигурации и ее состояние. Отсюда можно сразу войти в базу данных, загрузить имеющуюся локальную базу, добавить новую, а так же посмотреть активных пользователей.
Добавление новой Базы через ЛК
Добавляется новая база из личного кабинета сервиса 1cfresh также просто, как и с лицевой страницы.
В блоке, где у нас указаны наши базы нажимаем кнопку добавить
Открывается окно, где необходимо выбрать свой часовой пояс. Обязательно указывайте свой реальный часовой пояс, иначе база может начать обновляться в разгар рабочего дня. Жмем «Далее»
Выбираем вид приложения. Для разнообразия создадим базу 1С:Зарплата и управление персоналом. Вариант приложения подберется автоматически. Наименование указывайте сами. Жмем далее
Сервис нам напишет, что база готова. Хотя это не совсем так. В списке база появилась, но статус ее «Готовится к использованию». Т.к. база пустая, то статус изменится на «используется» очень быстро.
Теперь на главной странице сервиса 1С Фреш у нас 2 базы данных.
Выгрузку локальной базы мы рассмотрим в отдельном материале.
Добавление нового пользователя в сервис 1С ФРЕШ.
Сервис 1С предприятие через интернет (еще одно название сервиса 1CFRESH) позволяет работать одновременно нескольким пользователям. Поэтому добавим нового пользователя через личный кабинет.
Идем в левую колонку и под надписью абонент находим кнопку «Добавить».
Заполняем необходимые поля. Если будет заполнено поле «почта», то поле «пароль» станет недоступно, так как пользователь будет его создавать самостоятельно.
В следующем окне добавляем роли пользователя. Может ли он управлять другими пользователями или только запускать установленные базы. Мы оставим роль «Пользователь»
На следующей вкладке мы настраиваем доступ к уже созданным базам данных. Мы дадим доступ только в 1С ЗУП.
После нажатия клавиши «Далее», пользователю будет отправлено приглашения для регистрации в сервисе. В письме Будет указан, абонент , пригласивший в сервис, роль пользователя, доступные приложения, а также ссылка для прохождения регистрации. Данную процедуру мы проходили при первичной регистрации в сервисе 1С через интернет.
После регистрации пользователь появляется на вкладке «Управление пользователями» в ЛК сервиса.
Давайте посмотрим, что находится на этой вкладке.
А находятся тут все, созданные нами пользователи.
Дважды кликнув на пользователя мы провалимся в режим управления этим пользователем. Здесь мы можем изменить ему роль, доступ к приложениям, ограничить количество доступных ему одновременных сеансов.
На этом изучение личного кабинета сервиса 1С:Предприятие через интернет мы заканчиваем. Если у Вас есть вопросы можете оставлять их в комментариях. Мы постараемся на них ответить.
Если Вас заинтересовал сервис 1CFRESH- проходите регистрацию через наш сайт. Мы поможем Вам с настройкой сервиса, а также с выгрузкой баз при необходимости.
Читайте также: