Nếu bạn đã quen thuộc với các API khác, bạn sẽ thấy một mẫu chung. Tôi khuyên bạn nên sử dụng phương pháp xác thực nơi người dùng chuyển email và mật khẩu của họ, phương thức này sẽ trả lại khóa xác thực duy nhất được tạo. Khóa xác thực sẽ giống như id phiên, hãy nghĩ về cách hoạt động của cookie. Sau đó, tất cả các phương thức API khác nên kiểm tra $ this-> post ('auth') và bạn cần so sánh điều này với trình xử lý phiên của bạn (tức là cơ sở dữ liệu hoặc phiên) trước khi bạn xử lý từng yêu cầu.
Dường như có rất nhiều mã? Không.
Tất cả các mô hình của bạn nên có một nhà xây dựng quá tải:
class MyAPIController extends Rest_controller
{
public function __construct()
{
parent::__construct();
if(!authCheck($this->post('auth'))){
returnFailedResponse();
exit();
}
}
Sau đó viết bạn API bình thường, giống như trong các ví dụ trên trang web Phil Sturgeon của. http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
Tạo mô hình có authCheck để kiểm tra xem khóa auth có hợp lệ không và tạo phương thức cho returnFailedResponse trả lại 401 không được ủy quyền.
Trong bộ điều khiển khác, hãy gọi nó là 'Auth', sử dụng bộ điều khiển bên trên.
Bây giờ mọi cuộc gọi đến api của bạn nên đặt tiêu đề cho Xác thực. Ví dụ 'Auth: 12m34k23b'.
Nguồn
2013-06-27 05:53:31
Cảm ơn bạn! Tôi đã kết thúc làm một cái gì đó tương tự như thế này. Tôi sẽ đánh dấu câu trả lời của bạn là được chấp nhận. – jose
im hiện đang ở trạng thái cách truy cập phiên. tôi đã cố gắng đăng bài đã thành công angd trong việc tạo ra phiên nhưng yêu cầu tiếp theo là không đăng nhập. xin vui lòng giúp cant hiểu cách xác thực :( –