带有 ReactJS 和 Lumen 的 Auth0 - 观众看起来像一个随机字符串

史蒂夫

我目前正在开发一个具有 ReactJS 前端和 Lumen 后端的应用程序。我正在尝试使用 Auth0 使 API 只能由特定用户访问。

目前,我在 Lumen 中设置了 JWT 身份验证。使用邮递员,我可以在设置 Auth0 提供的测试承载令牌时成功请求数据。

以下是我用于 JWT 验证的设置:

$verifier = new JWTVerifier([
    'supported_algs' => ['RS256'],
    'valid_audiences' => ['http://example.com'],
    'authorized_iss' => ['https://example.eu.auth0.com/'],
]);

我已经开始使用 ReactJS,到目前为止我可以用 Auth0 完美登录。以下是 auth0 连接的设置:

auth0 = new auth0.WebAuth({
    domain: AUTH_CONFIG.domain,
    clientID: AUTH_CONFIG.clientId,
    redirectUri: AUTH_CONFIG.callbackUrl,
    responseType: 'token id_token',
    scope: 'openid profile'
  });

成功登录返回的是 access_token 和 id_token。

现在是令人沮丧的部分.. 我从我的 API 中对数据进行了 GET 请求,如下所示:

axios({
      url:'http://example.com/public/api/enquiries',
      headers: {
        'Content-Type': 'application/json',
        'Authorization':'Bearer ' + localStorage.getItem('id_token'),
      }
    }).then(function(response) {
      console.log(response);
    });

然后从我的 Lumen API 返回以下错误:

Invalid audience Wo6olMsBdA0U0azY4q09iZ7bjXPbYSvd; expected http://example.com

我对 Lumen 中的解码数据进行了 var_vump 处理,所有数据都是正确的,除了“aud”项显示为:Wo6olMsBdA0U0azY4q09iZ7bjXPbYSvd

我将上述字符串添加为接受的受众,然后成功发出请求,但这肯定不正确。任何人都可以指出我正确的方向吗?

非常感激。

史蒂夫

发现问题了。

因此,当为access_tokenand返回数据时id_token,access_token 看起来太小而无法用于 JWT,因此我假设 id_token 是要使用的正确承载。但是,在启动 auth0 时,我的 React 项目中缺少的是“观众”选项,因此 access_token 还没有准备好 JWT。添加这个给了我一个更长的 access_token,它是 JWT 准备好的。将其解析为我的 API 作为承载工作,它应该完成。

react中 auth0 的启动代码应该是:

auth0 = new auth0.WebAuth({
    domain: AUTH_CONFIG.domain,
    clientID: AUTH_CONFIG.clientId,
    redirectUri: AUTH_CONFIG.callbackUrl,
    responseType: 'token id_token',
    scope: 'openid profile',
    audience: 'http://example.com'
  });

..对于遇到同样问题的任何人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有在同一个项目中同时使用auth0弹簧安全的API和Java的智威汤逊的方法吗?

来自分类Dev

ReactJS:有一个带有绑定的 className 和另一个没有绑定的 className

来自分类Dev

Auth0和React的CORS问题

来自分类Dev

Slim 框架和 Auth0

来自分类Dev

带有 AuthenticationClient 的 Auth0 登录对话框

来自分类Dev

std ::带有和不带有\ 0终止符的字符串

来自分类Dev

Unicode 中是否有一个圈起来的 10 和 11 看起来一样?

来自分类Dev

Auth0(Angularjs Auth0),Satellizer和ng-token-auth之间的区别

来自分类Dev

laravel和lumen有什么区别

来自分类Dev

具有Auth0的CouchDB

来自分类Dev

将带有彩色边框的 JPanel 按特定顺序排列,使其看起来像一个网格

来自分类Dev

带有reactjs和bootstrap的下拉菜单

来自分类Dev

带有材质ui和Reactjs的嵌套侧边栏菜单

来自分类Dev

带有Scala,WebJars,ReactJS和RequireJS的PlayFramework?

来自分类Dev

错误:带有 ReactJS 和 Django 的 webpack-dev-server

来自分类Dev

使用Auth0和Scaphold登录GraphQL

来自分类Dev

Auth0、Angular 4 和 ASP.NET Core

来自分类Dev

使用 Auth0 和 Apache CXF 实现 OAuth 2.0

来自分类Dev

在 Auth0 注册时更改名称和徽标

来自分类Dev

节点 JS 和 Auth0 | 获取个人资料

来自分类Dev

NodeJS 和 Auth0 的 JWT 身份验证

来自分类Dev

SQL选择查询,其中列像字符串一样,带有和不带有空格

来自分类Dev

是否有一个使它看起来像OS X的Ubuntu主题?

来自分类Dev

是否有一个使它看起来像OS X的Ubuntu主题?

来自分类Dev

我有一个看起来像这样的输入文件

来自分类Dev

在列表中添加新对象,所有对象看起来像最后一个

来自分类Dev

让它看起来像变量名中有一个空格(JS)

来自分类Dev

Javascript Array 看起来像它的空但有一个值

来自分类Dev

如何解析看起来像这样的字符串的左值和右值:“ 5-8”

Related 相关文章

  1. 1

    有没有在同一个项目中同时使用auth0弹簧安全的API和Java的智威汤逊的方法吗?

  2. 2

    ReactJS:有一个带有绑定的 className 和另一个没有绑定的 className

  3. 3

    Auth0和React的CORS问题

  4. 4

    Slim 框架和 Auth0

  5. 5

    带有 AuthenticationClient 的 Auth0 登录对话框

  6. 6

    std ::带有和不带有\ 0终止符的字符串

  7. 7

    Unicode 中是否有一个圈起来的 10 和 11 看起来一样?

  8. 8

    Auth0(Angularjs Auth0),Satellizer和ng-token-auth之间的区别

  9. 9

    laravel和lumen有什么区别

  10. 10

    具有Auth0的CouchDB

  11. 11

    将带有彩色边框的 JPanel 按特定顺序排列,使其看起来像一个网格

  12. 12

    带有reactjs和bootstrap的下拉菜单

  13. 13

    带有材质ui和Reactjs的嵌套侧边栏菜单

  14. 14

    带有Scala,WebJars,ReactJS和RequireJS的PlayFramework?

  15. 15

    错误:带有 ReactJS 和 Django 的 webpack-dev-server

  16. 16

    使用Auth0和Scaphold登录GraphQL

  17. 17

    Auth0、Angular 4 和 ASP.NET Core

  18. 18

    使用 Auth0 和 Apache CXF 实现 OAuth 2.0

  19. 19

    在 Auth0 注册时更改名称和徽标

  20. 20

    节点 JS 和 Auth0 | 获取个人资料

  21. 21

    NodeJS 和 Auth0 的 JWT 身份验证

  22. 22

    SQL选择查询,其中列像字符串一样,带有和不带有空格

  23. 23

    是否有一个使它看起来像OS X的Ubuntu主题?

  24. 24

    是否有一个使它看起来像OS X的Ubuntu主题?

  25. 25

    我有一个看起来像这样的输入文件

  26. 26

    在列表中添加新对象,所有对象看起来像最后一个

  27. 27

    让它看起来像变量名中有一个空格(JS)

  28. 28

    Javascript Array 看起来像它的空但有一个值

  29. 29

    如何解析看起来像这样的字符串的左值和右值:“ 5-8”

热门标签

归档