gpt4 book ai didi

javascript - 在 iOS 和 Node.js 应用程序之间传递登录凭据的最佳方式

转载 作者:行者123 更新时间:2023-11-29 02:01:16 26 4
gpt4 key购买 nike

我有一个构建在 hackathon starter framework 之上的 node.js 应用程序(人们可以在 http://hackathonstarter.herokuapp.com/ 进行演示)。

我想将其设置为一个人可以登录 iOS 应用程序并使用 Web 应用程序数据库。

当我登录到应用程序时,请求正文包含以下内容,然后用于对用户进行身份验证。

body:
{ _csrf: 'a2OrandomxnpwVOrandomp0u36randomorlv0=',
email: 'myEmail@gmail.com',
password: 'myPassword' },

我尝试以下列格式在站点的控制台中发出 ajax 请求,它成功地对我进行了身份验证:

$.ajax({
type:"POST",
url:"/login",
data: { _csrf: 'a2OrandomxnpwVOrandomp0u36randomorlv0=',
email: 'myEmail@gmail.com',
password: 'myPassword' },
dataType:"json",
success:function(response){
console.log(response)
}
});

由此我得出结论(希望是正确的),为了接受来自外部应用程序的请求,请求必须包含有效的 _csrf token ,这引出了我的问题iOS 应用程序的请求会是什么样子,它会从哪里获得对我的应用程序有效的 csrf token ?

类似下面的问题:

How to get CSRF token in iOS?

最佳答案

Hackathon Starter 框架看起来像是为基于浏览器的网络应用程序而不是通用的网络 API 请求而设计的。对于您想要做的事情,您需要使用基于 API 的身份验证(基本身份验证是最简单的,this 看起来像是将其添加到 express 的好教程黑客马拉松使用)。

如果您想按原样使用现有框架,则必须在 iOS 端做一些工作。从您提供的链接来看,框架似乎在 HTML <meta> 中传递 CSRF token 。登录页面上的标签:

<meta name="csrf-token" content="9XLjTtpT6jf/HsrXT94GHOeFS4NIgQUTuPpfw=">

在您的 iOS 应用程序中,您必须首先向登录页面发出请求,从 meta 中抓取 CSRF token 。标记,并在使用 _csrf 发出 POST 请求时使用它变量。

不幸的是,我不熟悉 iOS 以及您将如何编写请求代码,但最终结果将类似于您上面的 jQuery 示例产生的结果。

关于javascript - 在 iOS 和 Node.js 应用程序之间传递登录凭据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30356231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com