首页 > 解决方案 > 获取 Auth0 令牌

问题描述

我使用 Auth0 的 Angular SDK,一切正常……除了获取令牌。现在我正在使用您可以从我的仪表板手动获取的令牌。

Auth0Service 包含一个名为 getAccessTokenSilently 的方法,但是当我的应用程序加载对 Auth0 的请求时,该令牌无用且很小(不是正确的)。我不明白,因为无论如何我都没有编程那个调用......但是那个调用有令牌!

如何获得不记名令牌?

在此处输入图像描述

编辑代码示例 但是...改变,关键是console.log 不包含正确的键,或者至少键不能访问后端。

  constructor(private auth0Service : Auth0Service) { }

  getToken = () => {
    this.auth0Service.getAccessTokenSilently().subscribe(z => console.log(z));
  }

标签: angularauth0

解决方案


@auth0/auth0-spa-js库中,您可以通过获取 id 令牌声明并__raw从中获取属性来获取原始令牌。我想在 Angular SDK 上有一个类似的机制。

import createAuth0Client from '@auth0/auth0-spa-js';


const auth0Client = await createAuth0Client({
    audience: {AUDIENCE},
    domain: {DOMAIN},
    client_id: {CLIENT_ID}
  })

const claimsInfo = await auth0Client.getIdTokenClaims();

const rawToken = claimsInfo.__raw    // (long token)

推荐阅读