【问题标题】:Auth0 Authenticate client App to consume external APIAuth0 验证客户端 App 以使用外部 API
【发布时间】:2017-05-12 20:45:08
【问题描述】:

我在 React 中有一个 SPA,它可以调用外部 API,例如: GET https://myapi.com/api/items/1GET https://myapi.com/api/items/

myapi.com 服务器中,使用express-jwtauth0-api-jwt-rsa-validation 使用oAuth2 保护路由,子仅调用Header: { Authorization: 'bearer ' + token } 以状态200 响应。

如果我从服务器端应用程序使用这些调用,我可以通过 client_id, client_secret, grant_type and audiencePOST https://myapi.auth0.com/oauth/token 获取 token。但由于应用程序是客户端,我认为有一个最好的方法,避免暴露client_secret 等等。

我尝试了implicit-grant 方法,但我正在处理callback_uri 和其他令人困惑的东西。

主要思想是允许应用程序,比如https//myapp.com/listGET https://myapi.com/api/items 一样使用API(没有用户,没有密码)。

要点:

  • 如何在没有用户的情况下验证应用程序
  • 在我的应用程序中调用oAuth2 的位置和位置? (onEnter 顶级路线,componentDidMount?)和
  • 令牌在响应中的情况

【问题讨论】:

    标签: node.js reactjs express oauth oauth-2.0


    【解决方案1】:

    由于我在 Auth0 社区中asked 这个问题 我认为分享answer 可能对其他人有用。

    对于我的用例,最重要的部分是

    您得出了正确的结论;不建议将令牌端点用于客户端凭据授予或资源所有者密码授予 (ROPC) 用于 SPA [...] 这意味着 如果您希望 SPA 在没有概念的情况下访问 API用户,那么该 API 需要公开。

    因此,就我而言,我将公开 API 或考虑一些用户/密码实现。

    【讨论】:

      猜你喜欢
      • 2021-01-15
      • 1970-01-01
      • 2020-03-25
      • 2020-12-26
      • 2022-12-18
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多