为什么使用auth0将'audience'设置为'localhost:<port>'?

时间:2019-03-29 17:46:41

标签: authentication auth0

我在React Native应用程序中使用auth0,并且正在使用某些已复制的代码。我试图了解audience的含义以及使用方法。文档说受众确定了资源所有者,并且在我的代码中将其设置为“ http://localhost:”。这是一个环回,所以我假设当auth0实际使用audience时,它将调用它相对于资源服务器。 谁能解释这里发生了什么? auth0如何识别与其调用的audience相关的机器,并且观众始终与此机器相同?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用audience参数来确定用户授权访问哪个资源服务器。默认情况下,Auth0发行一个不透明令牌,该令牌在我们的某些API端点上使用受限。例如,当将/userinfo端点指定为audience时,将发出一个不透明的access_token。

实际上,受众是资源服务器(API)的标识符,因此一旦您在Auth0中为具有设置的受众的用户创建了API,便会使用它来标识该API,并且无法更改。建议使用URI,但这实际上不是必需的,因为这只是唯一的标识符。

然后,您的应用程序会根据您使用的OAuth2授予​​,通过在/ authorize和/ oauth / token端点中传递API的访问者,来尝试授权给API并获得令牌。