• Trang chủ
  • Giới thiệu
    • Cơ cấu tổ chức
    • Nhân sự
    • Tầm nhìn & sứ mệnh
    • Thành tựu
    • Hỗ trợ & bảo trì
    • Hình ảnh công ty
    • Thông báo
    • Cộng tác viên & SVTT
    • Nội quy công ty
    • Văn bản - biểu mẫu
    • Quy Trình
  • Hướng dẫn
    • Hướng dẫn quản trị website
      • Joomla
        • Cách thay đổi hình banner dạng slide với ImageSlider trong Joomla
        • Cách quản lý menu trong joomla
        • Cách quản lý phương tiện (Hình ảnh) trong joomla
        • Cách quản lý component JU Download
        • Cách thêm/ sửa / xóa bài viết trong joomla
        • Cách quản lý thể loại bài viết joomla
        • Cách đăng sản phẩm bằng "JoomShopping" trong Joomla (Website có đặt hàng)
        • Cách đăng bài giới thiệu sản phẩm trong Joomla (Website không đặt hàng)
        • Cách tạo danh mục sản phẩm (menu bên trái)
        • Cách đổi ảnh và vị trí của danh mục sản phẩm (User ở giữa)
        • Cách quản lý logo dạng slide với DJ-ImageSlider trong Joomla
        • Cách thay đổi logo đối tác (Custom HTML) trong Joomla
        • Cách thay đổi video clips (Custom HTML)
        • Cách đăng video có hỗ trợ Shortcode
      • WordPress
  • Thanh toán
  • Tuyển dụng
    • Nhân sự
    • Cộng tác viên kỹ thuật
    • Cộng tác viên kinh doanh
    • Đại lý
  • Liên hệ
  • Giải pháp chuyển đổi số
    • Marketing online sử dụng AI
    • Giải pháp bán hàng TMĐT
    • Truy xuất nguồn gốc
    • Quản lý bán hàng xuất hoá đơn điện tử
    • Quản lý tổng thể theo yêu cầu
Giỏ hàng 0
Hiển thị giỏ hàng
  • Thiết kế web
    • Gói giới thiệu chọn mẫu
      • Web giới thiệu - Joomla
      • Web giới thiệu - Agitech framework
    • Gói bán hàng chọn mẫu
      • Web bán hàng - Joomla
      • Web bán hàng - Agitech framework
    • Gói giới thiệu tham khảo
    • Gói bán hàng tham khảo
    • Gói web code theo yêu cầu
  • Phần mềm quản lý
    • Phần mềm học trực tuyến elearning
    • Phần mềm kế toán Thông tư 132
    • Quản lý nhân sự và chấm công
    • Quản lý quan hệ khách hàng
    • Quản lý tổng thể ERP
    • Quản lý khách sạn
    • Quản lý kho bán hàng
    • Quản lý quán cà phê
    • Phần mềm quản lý vận tải
    • Phần mềm quản lý bảo trì xe
    • Phần mềm quản lý trên android
    • Phần mềm quản lý Chi cục ATVSTP
    • Phần mềm quản lý cơ sở bán lẻ thuốc 540/QĐ-QLD
    • Sàn giao dịch thương mại điện tử
  • Vietnamese (VN)
  • English (UK)

Liên hệ

  34A Đường Bùi Văn Danh, Phường Long Xuyên, Tỉnh An Giang, Việt Nam
contact@agitech.com.vn

02966.555.226 (Văn phòng)
Kỹ thuật giờ hành chính:
02966.555.226
Hỗ trợ phần mềm:
0789.682.140
Hỗ trợ dự án:
0918.070557

Video

Điều khiển xem camera từ xa trên máy tính - IoT
Tạo cánh tay lấy đồ - IoT

Thống kê truy cập

11971288
Hôm nay
Hôm qua
Tuần này
Tháng này
Tổng
215
1389
1604
23509
11971288

  • Trang chủ/
  • Giải pháp chuyển đổi số/
  • Giải pháp bán hàng TMĐT/
  • Bài viết/
  • Website
  • /Chia sẻ cách sử dụng một module Laravel API (Laravel API Key Auth)

Chia sẻ cách sử dụng một module Laravel API (Laravel API Key Auth)

Được đăng: Thứ bảy, 05 Tháng 1 2019 17:25 Lượt xem: 9938
  • In bài này

laravel api

Hướng dẫn các bước cài đặt

Trước tiên chạy lệnh cmd sau:

composer require ejarnutowski/laravel-api-key

Thêm đoạn code khai báo trong mảng providers trong file config/app.php

'providers' => [
    ...
    Ejarnutowski\LaravelApiKey\Providers\ApiKeyServiceProvider::class,
],

 Chép các file trong migration vào database/migrations với lệnh sau:

$ php artisan vendor:publish

Chạy lệnh thực thi các file tạo bảng dữ liệu:

$ php artisan migrate

Sau khi thực thi lệnh sẽ tạo 3 bảng sau:

api_keys
api_key_access_events
api_key_admin_events

Chạy lệnh tạo một Key ngẫu nhiên:

php artisan apikey:generate {name}

 Ví dụ: Tạo một key với tên là app1 (Lưu ý: Tên không được có ký tự đặt biệt)

$ php artisan apikey:generate app1
  
// API key created
// Name: app1
// Key: 0ZdNlr7LrQocaqz74k6usQsOsqhqSIaUarSTf8mxnHuQVh9CvKAfpUy94VvBmFMq

 Cách thay đổi trạng thái sử dụng cho key.

Vô hiệu hóa key vớí lệnh cmd sau:

$ php artisan apikey:deactivate app1
  
// Deactivated key: app1

 

Kích hoạt key với lệnh cmd sau:

$ php artisan apikey:activate app1
  
// Activated key: app1

 

Cách xóa một key với lệnh cmd sau:

$ php artisan apikey:delete app1
  
// Are you sure you want to delete API key 'app1'? (yes/no) [no]:
// > yes
  
// Deleted key: app1

 

Cách hiển thị danh sách các key với dòng lệnh cmd hoặc có thể vào cơ sở dư liệu xem bảng dữ liệu "api_keys".

$ php artisan apikey:list -D
 
// +----------+----+-------------+---------------------+------------------------------------------------------------------+
// | Name     | ID | Status      | Status Date         | Key                                                              |
// +----------+----+-------------+---------------------+------------------------------------------------------------------+
// | app1     | 5  | deleted     | 2017-11-03 13:54:51 | 0ZdNlr7LrQocaqz74k6usQsOsqhqSIaUarSTf8mxnHuQVh9CvKAfpUy94VvBmFMq |
// | app2     | 1  | deleted     | 2017-11-02 22:34:28 | KuKMQbgZPv0PRC6GqCMlDQ7fgdamsVY75FrQvHfoIbw4gBaG5UX0wfk6dugKxrtW |
// | app3     | 3  | deactivated | 2017-11-02 23:12:34 | IrDlc7rSCvUzpZpW8jfhWaH235vJAqFwyzVWpoD0SLGzOimA6hcwqMvy4Nz6Hntn |
// | app4     | 2  | active      | 2017-11-02 22:48:13 | KZEl4Y2HMuL013xvg6Teaa7zHPJhGy1TDhr2zWzlQCqTxqTzyPTcOV6fIQZVTIU3 |
// +----------+----+-------------+---------------------+------------------------------------------------------------------+

 

Cách sử dụng:

Yêu cầu khai báo khóa API: có 2 cách

Cách yêu cầu khai báo tại Route.

Route::get('api/user/1', function () {
    //
})->middleware('auth.apikey');

 

Cách yêu cầu khai báo tại Controller.

class UserController extends Controller
{
    /**
     * Instantiate a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth.apikey');
    }
}

 

Đường dẫn chỉ cho phép truy cập với khai báo header "X-Authorization" có giá trị là khóa đã kích hoạt.

X-Authorization: KuKMQbgZPv0PRC6GqCMlDQ7fgdamsVY75FrQvHfoIbw4gBaG5UX0wfk6dugKxrtW

 

Trường hợp với khóa chưa được khai báo hoặc khóa chưa được kích hoạt sẽ trả về giá trị như sau:

{
    "errors": [
        {
            "message": "Unauthorized"
        }
    ]
}

 

Nhật ký được lưu lại:

Mỗi yêu cầu khóa API vượt qua thành công sẽ được ghi lại trong bảng api_key_access_events với thông tin sau: api_key_id, ip_address, url, created_at, updated_at

Bất cứ khi nào một khóa API được tạo, kích hoạt, hủy kích hoạt hoặc xóa, một bản ghi sẽ được ghi vào bảng api_key_admin_events. Mỗi bản ghi chứa các thông tin sau: api_key_id, ip_address, event, created_at, updated_at

Đoạn code PHP thực thi link API và hiển thị kết quả trả về:

<?php
     $get_url = '{put_url_here}';
$ch = curl_init($get_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Authorization: {key}'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
?>

 

Chia sẻ: Ngụy Kim Hưng

Tham khảo link nguồn: Authorize requests to your Laravel application with API keys 

Liên hệ

  34A Đường Bùi Văn Danh, Phường Long Xuyên, Tỉnh An Giang, Việt Nam
contact@agitech.com.vn

02966.555.226 (Văn phòng)
Kỹ thuật giờ hành chính:
02966.555.226
Hỗ trợ phần mềm:
0789.682.140
Hỗ trợ dự án:
0918.070557

Video

Điều khiển xem camera từ xa trên máy tính - IoT
Tạo cánh tay lấy đồ - IoT

Thống kê truy cập

11971288
Hôm nay
Hôm qua
Tuần này
Tháng này
Tổng
215
1389
1604
23509
11971288

Copyright © 2015 Agitech

CÔNG TY TNHH TƯ VẤN VÀ DỊCH VỤ KỸ THUẬT CÔNG NGHỆ XANH AN GIANG

34A Bùi Văn Danh, Phường Long Xuyên, Tỉnh An Giang

Người đại diện theo pháp luật: Nguyễn Thị Út

Mã số thuế: 1601223524, ngày cấp lần đầu: 07/10/2009,

cấp lần cuối: 08/08/2014

Do sở Kế hoạch & Đầu Tư Tỉnh An Giang cấp

Điện thoại: 02966.555.226 - Email: contact@agitech.com.vn

ZaloPage: Công ty phần mềm An Giang

Thiết kế phần mềm website: AGITECH

Quy Định - Chính sách của AGITECH

  • ★ Chính sách thanh toán
  • ★ Chính sách vận chuyển/ cài đặt
  • ★ Chính sách bảo trì/ bảo hành
  • ★ Chính sách đổi trả hàng/ hoàn tiền
  • ★ Chính sách bảo mật thông tin

Đã thông báo

 ipv6 icon

Chấp nhận thanh toán

TK: Công Ty TNHH Tư vấn và Dịch vụ Kỹ thuật Công Nghệ Xanh An Giang

Vietcombank - số tài khoản 0151.000.482.137

Liên kết website: nang va di doi nha tu luy, nang nha tu luy, di doi nha tu luy, son sakara, son toshiko, son ninza, son aipaint, son akyo, son noi that

son ngoai that, son chong tham, thiet bi ve sinh, gach lot nen, gach op tuong, gach trang tri

  • Trang chủ
  • Giới thiệu
    • Cơ cấu tổ chức
    • Nhân sự
    • Tầm nhìn & sứ mệnh
    • Thành tựu
    • Hỗ trợ & bảo trì
    • Hình ảnh công ty
    • Thông báo
    • Cộng tác viên & SVTT
    • Nội quy công ty
    • Văn bản - biểu mẫu
    • Quy Trình
  • Hướng dẫn
    • Hướng dẫn quản trị website
      • Joomla
        • Cách thay đổi hình banner dạng slide với ImageSlider trong Joomla
        • Cách quản lý menu trong joomla
        • Cách quản lý phương tiện (Hình ảnh) trong joomla
        • Cách quản lý component JU Download
        • Cách thêm/ sửa / xóa bài viết trong joomla
        • Cách quản lý thể loại bài viết joomla
        • Cách đăng sản phẩm bằng "JoomShopping" trong Joomla (Website có đặt hàng)
        • Cách đăng bài giới thiệu sản phẩm trong Joomla (Website không đặt hàng)
        • Cách tạo danh mục sản phẩm (menu bên trái)
        • Cách đổi ảnh và vị trí của danh mục sản phẩm (User ở giữa)
        • Cách quản lý logo dạng slide với DJ-ImageSlider trong Joomla
        • Cách thay đổi logo đối tác (Custom HTML) trong Joomla
        • Cách thay đổi video clips (Custom HTML)
        • Cách đăng video có hỗ trợ Shortcode
      • WordPress
  • Thanh toán
  • Tuyển dụng
    • Nhân sự
    • Cộng tác viên kỹ thuật
    • Cộng tác viên kinh doanh
    • Đại lý
  • Liên hệ
  • Giải pháp chuyển đổi số
    • Marketing online sử dụng AI
    • Giải pháp bán hàng TMĐT
    • Truy xuất nguồn gốc
    • Quản lý bán hàng xuất hoá đơn điện tử
    • Quản lý tổng thể theo yêu cầu
You have copied!