Проблема с аутентификацией в Auth0 через Swagger UI (.NET) с учетными данными клиента

#swagger-ui #auth0 #openapi #swashbuckle #swashbuckle.aspnetcore

#swagger-ui #auth0 #openapi #swashbuckle #swashbuckle.aspnetcore

Вопрос:

Я пытаюсь пройти аутентификацию для моего клиента Auth0 через пользовательский интерфейс Swagger (автоматически генерируется Swashbuckle.AspNetCore) с использованием учетных данных клиента.

Я получаю следующую ошибку:

Ошибка авторизации, ошибка: access_denied, описание: Неглобальным клиентам не разрешен доступ к APIv1

Вот снимок экрана:

введите описание изображения здесь

Спецификация Open API выглядит следующим образом:

 "securitySchemes": {
   "auth0": {
      "type": "oauth2",
      "flows": {
         "clientCredentials": {
            "tokenUrl": "https://example.auth0.com/oauth/token"
         },
         "authorizationCode": {
            "authorizationUrl": "https://example.auth0.com/authorize?audience=test",
            "tokenUrl": "https://example.auth0.com/oauth/token",
            "scopes": { }
         }
      }
   }
}
  

Я подозреваю, что это как-то связано с тем, что audience не указано. У меня была аналогичная проблема с потоком кода авторизации, но я смог заставить это работать, добавив audience в качестве параметра строки запроса к authorizationUrl (как показано выше). К сожалению, тот же трюк не работает с потоком учетных данных клиента (т. Е. Попытка добавить аудиторию к tokenUrl ). Мне нужно поддерживать поток учетных данных клиента, так как один или несколько маршрутов должны быть заблокированы только для токенов M2M.

Интересно, что это работает, если я использую глобальный идентификатор клиента / секрет (находится в разделе «Дополнительные настройки клиента»), но я не уверен, стоит ли нам это использовать…

Кто-нибудь еще сталкивался с этой проблемой, и если да, то удалось ли найти решение?

Комментарии:

1. Я сталкиваюсь с этим — вы когда-нибудь находили решение?

2. Установите аудиторию по умолчанию в разделе «Настройки клиента> Настройки авторизации API> Аудитория по умолчанию»… дайте мне знать, если это сработает…