Предварительная конфигурация
Для обеспечения взаимодействия с DSS по протоколу OAuth необходимо выполнить ряд предварительных действий, которые включают в себя:
Получение идентификатора Сервиса Подписи
Данный шаг включает в себя получение идентификатора Сервиса Подписи, к которому будет обращаться OAuth-клиент. Этот идентификатор используется при формировании запросов на аутентификацию к ЦИ DSS.
Значение идентификатора можно получить при помощи командлета PowerShell Get-DssRelyingPartyTrust. Данный командлет возвращает информацию о доверенных сторонах ЦИ DSS, среди которых содержится идентификатор Сервиса Подписи.
Формат идентификатора ресурса имеет следующий вид: urn:cryptopro:dss:<componentName>:<displayName>
, где <componentName>
- тип компонента (SignServer/Frontend), а <displayName>
- отображаемое имя экземпляра данного компонента.
Пример вывода командлета:
Id : 3
DisplayName : SignServer
Description :
EncryptionCertificate :
DisableTokenEncryption : False
ForOperator : False
AdministrativeUrl :
Enabled : True
DisableActAs : True
SupportsBackChannel : True
BackChannelUrl : https://<hostname>/SignServer/rest/api/transactions/token
Identities : {https://<hostname>/SignServer/rest/api, urn:cryptopro:dss:signserver:signserver}
По умолчанию, идентификатор Сервиса Подписи имеет следующий вид: urn:cryptopro:dss:signserver:signserver
;
Регистрация клиента
В соответствии со спецификацией протокола OAuth, для успешной аутентификации Центр Идентификации должен располагать информацией об OAuth-клиентах, которые будут инициировать процедуру доступа к ресурсам.
Непосредственная конфигурация OAuth-клиентов на стороне ЦИ DSS осуществляется при помощи командлетов PowerShell Add-DssClient, Set-DssClient и Remove-DssClient.
Add-DssClient позволяет зарегистрировать новый OAuth-клиент.
Set-DssClient позволяет изменить конфигурацию существующего OAuth-клиентa.
Remove-DssClient позволяет удалить зарегистрированный OAuth-клиент из БД ЦИ DSS.
К информации, которая необходима для регистрации OAuth-клиента, относится:
- Идентификатор - значение, используемое для идентификации OAuth-клиента при формировании запросов к ЦИ;
Примечание
В случае, если при регистрации идентификатор не указан, ЦИ DSS сгенерирует его автоматически.
- Имя - отображаемое имя OAuth-клиента;
- Секрет - закрытая информация, позволяющая аутентифицировать клиента;
- Разрешенные сценарии использования - при регистрации OAuth-клиента на стороне ЦИ DSS необходимо явно задать список сценариев, по которым данный клиент может взаимодействовать с ЦИ;
- Адрес перенаправления - адрес, на который будет осуществляться перенаправление ответа ЦИ с полученным токеном.