php - Laravel 护照:密钥路径“file:///tmp/SomeFileName.key”不存在或不可读
问题描述
在我的环境中,我使用了 2 个在 Laravel 中实现的客户端应用程序和一个在 Lumen 中实现的服务器应用程序。
当用户在 client1 端登录时,该用户的令牌被写入数据库,在 client2 上也会发生同样的事情。
从那里开始,我在每个请求的 Authentication-header 中发送不记名令牌,因为我的 Lumen 应用程序的端点应该像这样受到保护:
网页.php:
$router->group(['prefix' => '/api/v1', 'middleware' => 'auth:api'], function() use ($router) {
$router->get('/someEndpoint', 'SomeController@index');
});
刚开始我只有一个客户端时,我很难通过这个中间件,因为我总是得到一个“未经身份验证”。然后我尝试为我的 Lumen 应用程序提供与我的客户相同的私钥 + 公钥。这行得通,我通过了我的 Api 守卫,可以读取我的数据。
我的下一个方法是添加另一个客户端。我试图为我的客户 2 提供与我的客户 1(和我的 Lumen 应用程序)相同的私钥 + 公钥。在尝试向我的 Lumen 应用程序发送请求后,client1 仍然有效,但我的 client2 出现以下异常:
密钥路径“file:///tmp/someRandomName.key”不存在或不可读
我知道在此文件中写入了私钥/公钥,并且当第二个客户端尝试调用 API 时出现问题。
问题:这种方法是“不行”还是可以为我的所有客户使用 1 个私钥?
问题:如果我的配置是“不行”,我如何告诉我的流明部分他应该使用哪个密钥来解密承载令牌?
解决方案
推荐阅读
- ansible - Rundeck 通过插件与 Ansible 集成
- javascript - 如何加载 1000 万个 sha256 哈希 - NodeJS 内存问题
- dotnet-dev-certs - 使用“dotnet dev-certs”工具导出 https 证书失败
- xpath - Xpath ImportXML 货币汇率
- python - pyodbc.OperationalError:SQL Server 不存在或访问被拒绝。(17) (SQLDriverConnect); [08001] ODBC SQL Server 驱动程序] [
- rabbitmq - 消费者能否充当生产者,向 RabbitMQ 中的消息代理发送消息?
- r - R中的数据类型转换问题
- javascript - 在three.js中超链接CSS3D对象
- python - 如何通过相等检查将字典列表拆分为 2 个单独的字典列表
- reactjs - 有没有办法将 Object.keys 函数循环限制为前 50 个?