【问题标题】:How to get valid token from api from auth0 client?如何从 auth0 客户端的 api 获取有效令牌?
【发布时间】:2018-03-05 15:38:11
【问题描述】:

我正在使用带有 auth0 的 emberjs 登录。 通常我输入用户名和密码,我会得到一个有效的令牌,我会发送给 api 等。

现在,我想写一些关于 api 的测试,我总是需要一个有效的令牌。我的令牌在一天后到期。因此,要运行测试,我总是必须手动更改令牌样本。

所以我想以某种方式从 api 获取令牌?是可能的,如何?

【问题讨论】:

    标签: php token auth0


    【解决方案1】:

    非常好的问题。为测试执行此操作的一种简单方法是使用Client Credentials Grant Flow。由于您需要测试中的访问令牌,因此您可以将其视为机器到机器流。

    这是我在测试to receive an Auth0 Management API v2 access token 中执行此操作的示例。还有corresponding test too。这里是我使用访问令牌查找as part of a separate test 的地方。但是,无论是 Auth0 特定的管理 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 - 它会引导您完成设置(如果需要)。请看下面的截图,如果您有任何问题,请随时离开 cmets。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 2015-10-30
      • 2014-08-18
      相关资源
      最近更新 更多