Avamar. Создание клиента OAuth2 из пользовательского интерфейса Swagger завершается сбоем с ошибкой Unauthorized
Summary: Не удалось создать пользователя OAuth2 из пользовательского интерфейса Swagger в Avamar версии 19.7, что привело к несанкционированной ошибке.
Symptoms
У клиента возникла проблема с созданием пользователя OAuth2 из пользовательского интерфейса Swagger.
- Клиент не может создать пользователя OAuth2 из пользовательского интерфейса Swagger, что приводит к неудачной попытке.
- Заказчик ищет решение для создания пользователя OAuth2 из пользовательского интерфейса Swagger без использования командной строки.
curl -k \ -H "Content-Type:application/json" \ -H 'authorization:Basic cm9vdDpOQUxBLVN1cHAwcnQtMDAw' \ -X POST -d '{"accessTokenValiditySeconds": 1800, "authorizedGrantTypes": ["password"], "autoApproveScopes": ["all" ], "clientId": "felixtest", "clientName": "felixtest", "clientSecret": "changeme", "redirectUris": [ "https://my-app-server/callback" ], "refreshTokenValiditySeconds": 43200, "scopes": ["read", "write"]}' \ https://10.241.170.119/api/v1/oauth2/clients
Заказчик предусмотрел следующие действия, чтобы воспроизвести проблему:
- Войдите в пользовательский интерфейс Swagger с помощью MCUser.
- Используйте другие функции пользовательского интерфейса Swagger, такие как перечисление действий и клиентов, с маркером.
- Попытайтесь создать новый клиент OAuth2 с помощью пользовательского интерфейса Swagger.
- Обратите внимание, что создание клиента OAuth2 завершилось сбоем.
Cause
Корневая причина проблемы связана с процессом проверки подлинности при создании клиента OAuth2 с помощью пользовательского интерфейса Swagger.
- Проблема не связана с какими-либо изменениями среды или конфигурациями системы, а скорее с неправильным пониманием процесса аутентификации.
- Основная причина проблемы заключается в неверном предположении, что клиент OAuth2 можно создать с помощью пользовательского интерфейса Swagger без надлежащей аутентификации.
Resolution
Решение проблемы неудачного создания пользователя OAuth2 из пользовательского интерфейса Swagger требует понимания правильного процесса проверки подлинности и минимальных привилегий, необходимых для создания клиента OAuth2.
- Во-первых, убедитесь, что пользователь, пытающийся создать клиент OAuth2, имеет правильные учетные данные для аутентификации. В руководстве администратора упоминается использование учетных данных администратора, в частности, учетной записи MCUser.
- При создании клиента OAuth2 из пользовательского интерфейса Swagger вызов post должен выполняться без авторизации пользовательского интерфейса Swagger в начале. Во время выполнения почтового вызова укажите учетные данные и войдите в систему.
- Для выполнения других вызовов API через контроллер oauth2-client сначала авторизуйте пользовательский интерфейс Swagger с правильными учетными данными, а затем запускайте вызовы.
- Выполните тестирование с разными ролями, чтобы убедиться, что только пользователь с ролью admin может создавать клиент OAuth2. Об этом упоминается в руководстве администратора.
- Выполните следующие шаги для создания клиента OAuth2 из пользовательского интерфейса Swagger:
- Откройте пользовательский интерфейс Swagger и перейдите к контроллеру oauth2-client.
- Нажмите кнопку «Create OAuth2 Client».
- Введите необходимые сведения, такие как имя клиента, идентификатор клиента, секрет клиента и URI перенаправления.
- Нажмите кнопку «Execute», чтобы создать клиент OAuth2.
- Убедитесь, что клиент OAuth2 успешно создан, проверив ответ пользовательского интерфейса Swagger.
- Если проблема не будет устранена, проверьте журналы REST API на наличие ошибок или проблем.
- Дополнительные сведения о создании клиентов OAuth2 и минимально необходимых привилегиях см. в документации Avamar и руководстве администратора.
Внимание! Если вы не уверены в каком-либо из действий или у вас возникли сомнения, обратитесь за помощью в службу поддержки Dell .
Additional Information
Дополнительные сведения см. в JIRA https://jira.cec.lab.emc.com/browse/AVAMARESC-2460.