【问题标题】:API authentication in iframeiframe 中的 API 身份验证
【发布时间】:2018-12-03 10:18:22
【问题描述】:

我们正在构建一个链接/iframe,用户可以在他们的网站上使用它通过我们的 API 将信息发布到我们的 CRM。我希望他们使用自己的 API 凭据进行身份验证。我不确定如何解决这个问题,因为他们无法将他们的 API 凭据(apikey)传递给 iframe。每个用户都有自己的网址,例如 iframe.domain.com/{user_id}。基于 user_id 我想对用户进行身份验证,但我想避免其他人也可以使用该链接并滥用我们的 API。我们有 API IP 白名单,但我不能使用它,因为远程 IP 将是提交表单的 IP,而不是托管 iframe/表单的服务器。

你会如何处理这个问题?希望有人能帮帮我。

如果相关:两者都是在 Laravel 中构建的。

雷蒙德

【问题讨论】:

    标签: laravel api iframe


    【解决方案1】:

    你不能只给每个用户自己独特的 api-token 吗?这样,每次用户访问该 URL 时,他们都必须将令牌放入 url(像这样:?token="token")

    【讨论】:

    • 谢谢 Kneegrows!每个用户都有自己的 api 密钥。但我想将该密钥保密。如果他们公开使用它,其他人可以复制 url 并滥用我们的 API 并向我们的 CRM 发布大量废话。这就是为什么我想知道我是否还有其他选择:)
    • 如果你愿意,你可以使用 Laravel auth 包和 passport 包。这样,用户必须添加一个 Authorization 标头(Bearer 令牌。每次登录时都会更新令牌),您可以轻松地从您身边管理它们。我认为无论如何它都不会被盗,因为令牌是从你这边生成的,而不是他们的。他们只需要使用您的用户表登录。
    【解决方案2】:

    我最近为移动应用程序制作了自己的 NodeJS API。我使用 (JWT) JSON Web Token 进行身份验证。更多使用原理详情见此链接:https://www.youtube.com/watch?v=8Ip0pcwbWYM 你应该为 Laravel 找到一个类似的带有 Bearer auth 的解决方案。 我希望它可以帮助你:-)

    【讨论】:

      猜你喜欢
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 2016-04-12
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多