【问题标题】:Are there best Practices for saving API Keys & Secret into the Database?是否有将 API 密钥和秘密保存到数据库中的最佳实践?
【发布时间】:2021-06-29 12:05:52
【问题描述】:

我正在开发一个小型 Laravel 项目,用户可以在其中注册并连接到不同的 API。我知道 API 密钥不应该保存在数据库中,但每个用户都有自己的私有 API 密钥,我无法将其硬编码到 .env 文件中。我考虑将 Key & Secret 保存在不同的表中,并使用 APP_KEY 对其进行加密。

有更好的方法吗?

提前感谢您的任何反馈

【问题讨论】:

标签: database laravel api security


【解决方案1】:
  • 首先您需要创建模型和表格

第 1 步:(创建模型和迁移)

Php artisan make:model ApiKey -m

=> 型号名称

  • ApiKey

=> 列名

  • id、user_id、api_key、api_secret、created_at、updated_at

第 3 步:(存储数据)

Web.php

Route::post(‘user-details’,’UserController@storeApiDetails’)—>name(‘user-details’);

用户控制器

use App\ApiKey;

public function storeApiDetails(Request $request){
    $request[‘user_id’]      =  Auth::id();
    $request[‘api_key’]      =  bcrypt($request->api_key);
     $request[‘api_secret’]   =  bcrypt($request->api_secret);
    $data = ApiKey::create($request->all());
    
    if($data->save()){
        dd(“Success & Redirect To View File”);
    }else{
        dd(“Failed”);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-18
    • 2022-11-03
    • 2010-11-18
    • 2017-09-10
    • 2019-07-30
    • 2011-09-23
    • 2012-04-28
    • 2020-12-25
    相关资源
    最近更新 更多