Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在laravel项目上测试API时,如何绕过身份验证级别?_Javascript_Php_Laravel_Postman - Fatal编程技术网

Javascript 在laravel项目上测试API时,如何绕过身份验证级别?

Javascript 在laravel项目上测试API时,如何绕过身份验证级别?,javascript,php,laravel,postman,Javascript,Php,Laravel,Postman,我使用的是来自laravel的基本身份验证,您可以通过运行以下命令获得该身份验证 php artisan make:auth 我编写了一个API,以便服务器上的后端可以更新/创建服务和状态。我遇到的问题是,管理员在web应用程序上也有一个UI,可以创建服务,或者手动更新其状态。因此,我对这些方法有一个身份验证级别,您必须登录才能使用它们 现在,当我在postman中调用该方法时,它会将我重定向到登录页面,我想知道是否有一种方法可以完全绕过API的身份验证级别 有人告诉我一种直接在postman

我使用的是来自laravel的基本身份验证,您可以通过运行以下命令获得该身份验证

php artisan make:auth
我编写了一个API,以便服务器上的后端可以更新/创建服务和状态。我遇到的问题是,管理员在web应用程序上也有一个UI,可以创建服务,或者手动更新其状态。因此,我对这些方法有一个身份验证级别,您必须登录才能使用它们

现在,当我在postman中调用该方法时,它会将我重定向到登录页面,我想知道是否有一种方法可以完全绕过API的身份验证级别

有人告诉我一种直接在postman中执行预请求脚本的方法,但是当涉及到整个java脚本部分时,我觉得有一种更简单的方法。我也尝试过使用用户名和密码进行“基本身份验证”,但似乎不起作用

提前感谢您的帮助


编辑:这是我的屏幕截图。

我想如果你有适当的API,你就有一个为特定用户设置的
API\u令牌。您可以通过以下两种方式之一在
Postman
中使用它

  • 您将转到“标题”选项卡并添加:
  • 键:授权

    值:承载API\u令牌\u值

    编辑:添加了邮递员的截图

  • 您可以修改请求的url并添加令牌:
  • url\u到\u api\u端点?api\u令牌=api\u令牌\u值

    在api路由上,如果您有
    ->中间件('auth:api')
    Laravel将从标头或使用查询参数读取授权令牌,并将其检查到数据库值

    将api_令牌添加到用户表中

    如果用户表中没有
    api\u令牌
    字段,请添加一个。它与
    记住\u token
    不同,它们是不同的。因此,在用户迁移中添加以下内容:

    $table->string('api_token', 60)->unique();
    
    $user = User::find(1);
    $user->update(['api_token' => str_random(60)]);
    
    您将需要使用如下内容更新用户
    api\u令牌

    $table->string('api_token', 60)->unique();
    
    $user = User::find(1);
    $user->update(['api_token' => str_random(60)]);
    

    您将使用的60个字符字符串,我将从\u DB

    中输入\u TOKEN\u的
    值\u,现在测试它,它会让您知道!我通过postman身份验证选项卡添加了它,使用变量session作为令牌,因此我的值是Bearer{{session}。仍然不工作,因为会话值仍然为空。现在正在尝试将令牌从DB获取到会话变量中。不要在那里这样做,我添加了一个屏幕截图。将其添加到标题下或作为api_请求url的一部分进行测试,即
    api_请求?api_token=VALUE_FROM_DB
    我将添加标题外观的屏幕截图,同时为了消除任何混淆,我的数据库中的列名是memory_token。所以你的意思是不要用邮递员认证?然后手动将token变量放在标题中?你说我需要更新用户api_token的地方,我应该在哪里做??