2017-09-24 168 views
1

我使用emberjs与auth0登录。 通常我输入用户名和密码,我得到我发送给API等如何从auth0客户端的api获取有效令牌?

现在有效的标记,我想写的API一些测试,我总是需要一个有效的标记。我的令牌在一天内到期。所以要运行测试,我总是必须手动更改令牌示例。

所以我想从API获取令牌?是可能的,怎么样?

回答

2

非常好的问题。测试的一个简单方法是使用Client Credentials Grant Flow。由于您想在测试中使用访问令牌,因此您可以将其视为机器来处理流量。

这里是一个例子,我从测试to receive an Auth0 Management API v2 access token这样做。和corresponding test too。这里是我使用访问令牌查找as part of a separate test的地方。但是,无论是Auth0特定的Management API还是使用非交互式客户端和您自己的受众在Auth0仪表板(API下)定义的API,相同的原则都适用。

该呼叫的 “形” 是非常如下:

{ 
    method: 'POST', 
    url: 'https://{TENANT}.auth0.com/oauth/token', 
    headers: { 'content-type': 'application/json' }, 
    body: '{ 
     "client_id":"{CLIENT ID}", 
     "client_secret":"{CLIENT SECRET}, 
     "audience":"https://{tenant}.auth0.com/api/v2/", 
     "grant_type":"client_credentials" 
    }' 
}; 

您拨打oauth/token端点,并通过的clientId,clientSecret,观众(对于API),并授予型(client_credentials) 。如果用emberjs/php来做 - 这非常相似 - 如果您在Auth0仪表板中创建一个新客户端并选择Non Interactive客户端类型,然后点击Quick Start - 它会引导您完成设置(如果需要)。看到下面的截图,如果你有任何probs,随时留下评论。

enter image description here

相关问题