Почему для ‘audience’ установлено значение ‘localhost:’ с auth0?

#authentication #auth0

#аутентификация #auth0

Вопрос:

Я использую auth0 в приложении React Native и использую некоторый скопированный код, который работает. Я пытаюсь понять, что audience означает и как это используется. В документах говорится, что audience идентифицирует владельца ресурса, а в моем коде для него установлено значение ‘http://localhost :». Это обратный цикл, поэтому я предполагаю, что когда auth0 действительно использует audience , он вызывает его относительно сервера ресурсов. Кто-нибудь может объяснить, что здесь происходит? Как auth0 идентифицирует машину, относительно которой он вызывает audience , и всегда ли аудитория совпадает с этой машиной?

Спасибо!

Ответ №1:

audience Параметр для определения, к какому ресурсному серверу пользователь разрешает доступ. По умолчанию Auth0 выдает непрозрачный токен, который имеет ограниченное использование на некоторых наших конечных точках API. Например, при указании /userinfo конечной точки в качестве audience выдается непрозрачный access_token.

На самом деле audience — это идентификатор сервера ресурсов (API), поэтому, как только вы создаете API в Auth0 с заданной аудиторией, он используется для идентификации API и не может быть изменен. Рекомендуется использовать URI, но на самом деле это не обязательно, поскольку это всего лишь уникальный идентификатор.

Затем ваши приложения пытаются авторизоваться в API и получить токены, передавая audience API в конечных точках /authorize и / oauth / token в зависимости от используемых вами разрешений OAuth2.