Php Laravel应用程序与第三方API交互以获取令牌
我有一个带有GUI的Laravel应用程序,用户可以根据MySQL数据库中的数据登录 当用户登录时,服务器需要向第三方API的特定端点发出请求以获取令牌。该令牌在该请求的响应中出现,并且由于它是某种会话令牌,因此它会不时更新(这意味着如果抛出特定错误,则应调用检索该令牌的同一请求) 在某些特定视图/路由中,控制器中的关联逻辑意味着向该第三方API的一个或多个端点发出请求,请求主体或报头中包含先前获取的令牌,具体取决于端点 我最担心的是是否有人可以访问特定的令牌。如果发生这种情况,那么他们可能会与第三方API交互,造成不必要的混乱。因此,只要实现的过程非常安全(前一个场景发生的风险非常低),如果页面或操作花费的时间稍长,我就可以Php Laravel应用程序与第三方API交互以获取令牌,php,laravel,api,security,token,Php,Laravel,Api,Security,Token,我有一个带有GUI的Laravel应用程序,用户可以根据MySQL数据库中的数据登录 当用户登录时,服务器需要向第三方API的特定端点发出请求以获取令牌。该令牌在该请求的响应中出现,并且由于它是某种会话令牌,因此它会不时更新(这意味着如果抛出特定错误,则应调用检索该令牌的同一请求) 在某些特定视图/路由中,控制器中的关联逻辑意味着向该第三方API的一个或多个端点发出请求,请求主体或报头中包含先前获取的令牌,具体取决于端点 我最担心的是是否有人可以访问特定的令牌。如果发生这种情况,那么他们可能会与
我应该针对什么程序?所需的答案将利用Laravel“机械”,并指出此令牌应存储在何处以及如何存储。在Web开发中,此场景通常使用CSRF令牌处理,以确保正确的用户已发送请求 根据你的问题,我假设:
- 您的前端向第三方Api发送请求
- 如果您的第三方库支持CSRF保护
会话请求第三方库(“第三方会话令牌”)
session->put("third_party_api_token",Crypt::encryptString($api_token));
并在您希望访问第三方时检索它:
$api_token = Crypt::decryptString(session()->get("third_party_api_token"));
在加密任何内容之前,必须使用以下方法生成密钥:
php artisan key:generate
您可以将会话令牌存储在数据库中,最好是加密的。当你需要的时候,你可以使用一些属性变量来解密它。然后必须确保在PHP端执行所有第三方API请求。