Làm cách nào để thêm xác thực cơ bản trong PHP Curl?

Cổng thanh toán SMSpay được sử dụng cho WooC Commerce cho phép các thương nhân Na Uy được sử dụng để chấp nhận thanh toán qua SMS di động trên WooC Commerce, sử dụng SMSpay cơ bản. dịch vụ io

Đã nhận được chữ ký không hợp lệ để xác thực Mã thông báo web JSON

{“mã trạng thái”. 401, "lỗi". "Trái phép","tin nhắn". "Đã nhận được chữ ký không hợp lệ để xác thực Mã thông báo Web JSON","thuộc tính". {"lỗi". ”Đã nhận được chữ ký không hợp lệ để xác thực Mã thông báo Web JSON”}}

Ngày nay, xác thực cơ bản rất phổ biến trong khi thực hiện bất kỳ lệnh gọi API nào để xác thực yêu cầu. Xác thực cơ bản hoạt động với giao thức HTTP để xác thực yêu cầu HTTP của khách hàng

Xác thực cơ bản hoạt động như thế nào?

Trong một yêu cầu HTTP đơn giản, máy khách gửi yêu cầu đến máy chủ và máy chủ chịu trách nhiệm phục vụ yêu cầu. Máy chủ chỉ có thể xử lý yêu cầu nếu không có mật khẩu bảo vệ hoặc máy chủ cho phép truy cập trái phép. Nhưng ngày nay, mọi yêu cầu đều cần có một số loại ủy quyền để nhận được phản hồi. Vì vậy, xác thực cơ bản đi vào hình ảnh

Xác thực cơ bản yêu cầu tiêu đề ủy quyền cơ bản với yêu cầu HTTP gửi ở định dạng được mã hóa

Ví dụ: tiêu đề ủy quyền chứa tên người dùng và mật khẩu ở định dạng base64-encoded theo sau là từ Basic

________số 8_______

Bây giờ nếu chúng tôi gửi yêu cầu cURL PHP được bảo vệ bởi xác thực HTTP, thì chúng tôi sẽ gặp lỗi truy cập trái phép i. e. 401 trái phép

401 Unauthorized: You need a valid user and password.

Một số nhà cung cấp API sử dụng mã thông báo truy cập từ và bí mật truy cập tương tự như tên người dùng và mật khẩu

Vì vậy, đừng nhầm lẫn với thuật ngữ dưới đây vì cả hai đều giống nhau

tên người dùng tương tự như mã thông báo truy cập
Mật khẩu tương tự như bí mật truy cập

Gửi yêu cầu API với xác thực cơ bản HTTP bằng PHP cURL

Bây giờ hãy xem đoạn mã đơn giản để tạo một yêu cầu API bằng cách sử dụng PHP curl với xác thực cơ bản HTTP. Như chúng ta biết rằng cURL chủ yếu được sử dụng để gọi API và ở đây chúng tôi sẽ sử dụng PHP cURL để thực hiện yêu cầu

Có một cách riêng khác để gọi trực tiếp cURL bằng cách chuyển xác thực đơn giản. Ở đây chúng tôi sẽ không sử dụng từ 'Basic' và xác thực được mã hóa. Mã được đưa ra dưới đây

Cách truyền dữ liệu hoặc tải trọng trong xác thực HTTP cơ bản bằng PHP cURL

Trong một số trường hợp, chúng tôi cần đăng một số dữ liệu cùng với yêu cầu cURL. Dữ liệu này còn được gọi là tải trọng, về mặt API. Vì vậy, hãy xem cách đăng dữ liệu tải trọng trong yêu cầu cURL. Ở đây, chúng tôi sẽ tạo một mảng đơn giản với một số dữ liệu tải trọng và encode nó ở định dạng json và chuyển vào CURLOPT_POSTFIELDS

Hôm nay tôi sẽ giải thích về Cách tạo yêu cầu cuộn tròn PHP với xác thực cơ bản. Ví dụ này rất dễ sử dụng trong php

Khi truy cập yêu cầu API qua PHP curl, một số tuyến được yêu cầu xác thực. Ngoài ra, API của bên thứ ba hầu hết được yêu cầu xác thực trước khi chấp nhận yêu cầu. Điều này có thể được thực hiện bằng phương thức xác thực Bearer hoặc Basic

Trong bài viết này, chúng ta sẽ xem cách gửi yêu cầu cuộn tròn PHP trên url được bảo vệ xác thực. Bạn cần gửi dữ liệu người dùng và mật khẩu cùng với yêu cầu. Ví dụ dưới đây gửi yêu cầu nhận yêu cầu xác thực cơ bản

Vì vậy, hãy bắt đầu với ví dụ và làm theo tất cả các bước của tôi

Thí dụ

$url = 'https://api.example.com/my-activity';

$username = '[email protected]';

$password = '123456';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

Bạn cũng có thể gửi yêu cầu cuộn tròn bằng tiêu đề Ủy quyền. Tùy chọn Curl CURLOPT_USRPWD về cơ bản gửi tiêu đề Ủy quyền với giá trị của tên người dùng. mật khẩu ở định dạng base64. Bạn có thể làm điều đó như dưới đây

$url = 'https://api.example.com/my-activity';

$username = '[email protected]';

$password = '123456';

$headers = array(

'Authorization: Basic '. base64_encode($username.':'.$password)

);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

Bằng cách này, bạn cũng có thể thực hiện yêu cầu cuộn tròn trên các tuyến yêu cầu xác thực. Nếu bạn thích bài viết, hãy thích trang Facebook của chúng tôi và theo dõi chúng tôi trên Twitter

Khi truy cập yêu cầu API qua PHP curl, một số tuyến được yêu cầu xác thực. Ngoài ra, API của bên thứ ba hầu hết được yêu cầu xác thực trước khi chấp nhận yêu cầu. Điều này có thể được thực hiện bằng phương thức xác thực Bearer hoặc Basic

Trong bài viết này, chúng ta sẽ xem cách gửi yêu cầu cuộn tròn PHP trên url được bảo vệ xác thực. Bạn cần gửi dữ liệu người dùng và mật khẩu cùng với yêu cầu. Ví dụ dưới đây gửi yêu cầu nhận yêu cầu xác thực cơ bản

<?php

$url = 'https://api.laravelcode.com/my-activity';
$username = '[email protected]';
$password = '123456';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

Bạn cũng có thể gửi yêu cầu cuộn tròn bằng tiêu đề Ủy quyền. Tùy chọn Curl CURLOPT_USRPWD về cơ bản gửi tiêu đề Ủy quyền với giá trị của tên người dùng. mật khẩu ở định dạng base64. Bạn có thể làm điều đó như dưới đây

<?php

$url = 'https://api.laravelcode.com/my-activity';
$username = '[email protected]';
$password = '123456';
$headers = array(
    'Authorization: Basic '. base64_encode($username.':'.$password)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

Bằng cách này, bạn cũng có thể thực hiện yêu cầu cuộn tròn trên các tuyến yêu cầu xác thực

Làm cách nào để thêm xác thực cơ bản trong Curl PHP?

Để gửi thông tin đăng nhập xác thực cơ bản bằng Curl, hãy sử dụng thông tin đăng nhập "-u. mật khẩu" tùy chọn dòng lệnh . Curl tự động chuyển đổi thông tin đăng nhập. ghép mật khẩu thành một chuỗi được mã hóa Base64 và thêm phần "Ủy quyền. Tiêu đề [mã thông báo] cơ bản cho yêu cầu.

Làm cách nào tôi có thể nhận được xác thực cơ bản trong PHP?

$_SERVER["REMOTE_USER"] - CGI tiêu chuẩn . $_SERVER["PHP_AUTH_USER"] - APACHE . $_SERVER["AUTH_USER"] - IIS .

Làm cách nào để chuyển tên người dùng và mật khẩu trong Curl PHP?

Làm cách nào để gửi yêu cầu Curl bằng tên người dùng và mật khẩu? . password" và chuyển tên người dùng và mật khẩu cho Curl use the --user "username:password" command line parameter and pass the username and password to Curl . Tên người dùng và mật khẩu được phân tách bằng dấu hai chấm.

Làm cách nào để sử dụng phương thức GET trong Curl trong PHP?

Để thực hiện yêu cầu GET bằng Curl, chạy lệnh curl theo sau là URL mục tiêu . Curl tự động chọn phương thức yêu cầu HTTP GET trừ khi bạn sử dụng tùy chọn dòng lệnh -X, --request hoặc -d. URL mục tiêu được chuyển dưới dạng tùy chọn dòng lệnh đầu tiên.