【问题标题】:REST API sending JWTREST API 发送 JWT
【发布时间】:2017-12-28 14:31:01
【问题描述】:

我正在开发一个小型 REST API,供浏览器和 Android / iOS / Windows Phone 应用程序使用。我正在使用 JWT 进行身份验证。由于在 API 中每个 url 都必须接收令牌,我一直在思考如何将令牌发送到 API,以便它也与移动应用程序兼容。

我只能想到两个选择: 第一:cookies,但我不知道android / iOS / Windows Phone应用程序是否可以像浏览器一样使用cookies。可以吗?

第二:使用 POST 在每个请求上发送令牌。我知道它会起作用,但我觉得它不专业,我相信还有其他方法可以让它变得更容易。

cookie 有用吗?有谁知道如何正确地做到这一点?

谢谢

【问题讨论】:

    标签: android ios rest cookies jwt


    【解决方案1】:

    jwt 它是您的最佳选择 主要思想是使用您的凭证生成令牌,该凭证有 3 部分,第一部分和第二部分包含用户信息,第三部分由前 2 部分和服务器密钥生成

    您可以看到这个示例由 laravel 和 angularjs 构建并带有完整描述 example here

    更新: 最好是在请求头授权中发送它:Bearer cn389ncoiwuencr[jwt token] 它可以在 web 和 mobil 中工作

    【讨论】:

    • 我想我没有解释自己。我对 JWT 没有任何问题,我知道它们是如何工作的以及如何管理它们。我正在寻找在浏览器和手机应用程序中发送令牌的最佳方式,以便相同的后端脚本能够读取它,而无需根据请求的来源进行任何更改。
    • 最好是在请求头中发送授权:Bearer cn389ncoiwuencr[jwt token] 它可以在网页和移动设备上使用
    【解决方案2】:

    Android 和 iOS 应用程序不使用 cookie。您需要将 JWT 存储在本地存储中,并将其包含在每个 POST 请求中。推荐的方式是使用Authorization 标头,但这不是强制性的

    要在本地存储令牌,您可以将完美的 cookie 用于 Web 应用程序以及用于 Android 和 iOS 的首选项

    【讨论】:

    • 我将查找有关Authorization 标头的信息。谢谢
    猜你喜欢
    • 2020-03-12
    • 1970-01-01
    • 2016-11-03
    • 2015-06-16
    • 1970-01-01
    • 2021-08-17
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多