Области действия OAuth
Области действия определяют, на какие действия уполномочен токен доступа. API Altium 365 проверяет области действия при каждом запросе — токен без необходимой области действия для конкретной операции получит ошибку авторизации.
Области действия назначаются платформой на основе контекста, в котором выдан токен. Вы не выбираете области действия вручную, но будете сталкиваться с ними при анализе токенов и при работе с API. Понимание структуры областей действия помогает интерпретировать, на что именно уполномочен токен, и понимать границы доступа.
Области действия в JWT-токене
Токены доступа являются JWT и могут быть декодированы для просмотра их утверждений. Утверждение scope перечисляет все области действия, с которыми был выдан токен. Например, токен, выданный для доступа к Workspace, выглядит так:
{
"scope": [
"openid",
"profile",
"a365:workspace:a9a01426-ac92-480e-9f80-97fe0f8ba344"
]
}
Область действия a365:workspace:{workspace-id} кодирует как область доступа, так и конкретный Workspace, для которого действителен токен.
Соглашение об именовании
Области действия Altium OAuth следуют шаблону:
area[:resource][.action]
-
area– широкая доменная область платформы (например,workspace,global,supply) -
resource– необязательно; конкретный ограниченный контекст или домен данных внутри области (например,design,library,app) -
action– необязательно; тип операции (например,read,write,execute)
Несколько принципов, лежащих в основе именования:
-
Названия областей основаны на доменах, а не на продуктах.
workspace, а неa365,supply, а неoctopart. -
Названия ресурсов соответствуют ограниченным контекстам и устоявшейся доменной терминологии.
-
Области действия ориентированы на данные, а не на функциональность.
Область действия |
Значение |
|
Доступ на чтение к данным проектирования в Workspace |
|
Создание регистраций приложений и управление ими |
|
Доступ на чтение к данным о поставках |
Стандартные области действия OIDC
Токены также могут содержать стандартные области действия OIDC, используемые для управления идентификацией и сеансами:
Область действия |
Назначение |
|
Требуется для потоков аутентификации OIDC |
|
Доступ к базовой информации профиля пользователя |
|
Доступ к данным о членстве пользователя в группах |
|
Позволяет выдавать токен обновления |
Области действия Workspace
Доступ к данным Workspace в настоящее время представлен одной областью действия a365:workspace:{workspace-id}, охватывающей все ресурсы Workspace. Платформа движется к более детализированной модели, в которой доступ можно ограничивать конкретными ограниченными контекстами:
Область действия |
Охватывает |
|
Проекты PCB, схемы, варианты, релизы |
|
Компоненты, символы, посадочные места, данные о деталях |
|
Спецификации материалов, позиции BOM |
|
Комментарии, задачи, аннотации |
|
Участники Workspace и группы |
|
Инсайты и аналитика Workspace |
|
Интеграции с PLM |
|
Определения и исполнения рабочих процессов |
|
Управление требованиями |
Каждая детализированная область действия поддерживает действия .read и .write. Эта более детализированная модель внедряется постепенно — она согласует области действия с моделью bounded context model API, что позволяет предоставлять интеграции доступ только к тем данным, которые ей действительно нужны.