Ứng dụng CI của tôi thực hiện cuộc gọi API tới máy chủ API Rest của bên thứ ba sẽ được tiêu thụ bởi giao diện người dùng. Đầu tiên, ứng dụng kết thúc sẽ nhấn vào ứng dụng CI của tôi và lần lượt sẽ chạm vào bên thứ ba LogInAPI
(phiên có giá trị trong 15 phút) và sau khi đăng nhập, chúng tôi cần nhấn các cuộc gọi API tiếp theo bằng cách chuyển khóa (phản hồi loginApi
) tiêu đề. Vì vậy, về cơ bản, tôi cần phải đạt tới số loginAPI
trong mỗi 15 phút. Tôi đang cố gắng tiếp cận lời hứa góc cạnh kinda trong ứng dụng Codeigniter của tôi không biết làm thế nào để đạt được nó? cách tốt nhất để làm điều đó để ngăn chặn giao diện người dùng nhận được phản hồi trống hoặc phiên hết hạn là gì?CodeIgniter 3 Implement Promise
Trả lời
Bạn không cần phải tiếp tục làm mới đăng nhập đó. Tạo dấu thời gian khi bạn nhận được thông tin đăng nhập từ API của bên thứ ba. Sau đó vượt qua nó để kết thúc trở lại trên mỗi yêu cầu.
Trên mặt sau của mỗi cuộc gọi từ dấu kiểm tra giao diện người dùng, nếu hết hạn, không thực hiện cuộc gọi bình thường tới API mà trước tiên hãy nhận thông tin đăng nhập mới, sau đó thực hiện các cuộc gọi được yêu cầu.
Khi trả lời cho mỗi cuộc gọi trả trước cũng có thông tin đăng nhập, để giao diện người dùng nhận được thông tin xác thực mới sau khi gia hạn.
Nếu thông tin đăng nhập là ứng dụng rộng, thì giao diện người dùng không cần phải biết về chúng. Chỉ lưu trữ thông tin đăng nhập trong một số loại lưu trữ (SQL DB, lưu trữ giá trị khóa, v.v.) và thực hiện gia hạn tự động khi thích hợp.
- 1. Cách cài đặt Doctrine trong CodeIgniter 3
- 2. Codeigniter 3 dev Không thể tải lớp được yêu cầu
- 3. CasperJS/PhantomJS ES6 Promise Polyfill
- 4. Promise Tab trong Chrome DevTools
- 5. Promise tương đương trong C#
- 6. Truy cập 'this' Inside Promise
- 7. Promise bên trong lời hứa
- 8. Javascript Promise vs jQuery Deferred
- 9. Phát! framework Java Promise example
- 10. setState với Firebase Promise trong React
- 11. thông báo tiến trình trong ECMAScript Promise
- 12. RxJS Promise Composition (truyền dữ liệu)
- 13. Promise findOneAsync variable = {"isFulfilled": false, "isRejected": false}?
- 14. Codeigniter: Tham gia 3 bảng và hiển thị dữ liệu ở chế độ xem
- 15. Cách đưa các thư viện của bên thứ 3 vào CodeIgniter?
- 16. CodeIgniter 3 Không thể xác định vị trí các mô hình mà bạn đã xác định
- 17. mặc định trong thư mục con CodeIgniter 3 không làm việc
- 18. Đặt thời gian chờ kết nối cơ sở dữ liệu trong CodeIgniter 3
- 19. Codeigniter global_xss_filtering
- 20. CodeIgniter + CSS
- 21. CodeIgniter Routing
- 22. Thoát CodeIgniter
- 23. Codeigniter PDO tích hợp
- 24. set_error_handler trong Codeigniter?
- 25. Codeigniter "file_exists ($ filename)"
- 26. lỗi PHPExcel trong Codeigniter
- 27. codeigniter, result() vs. result_array()
- 28. PHP Codeigniter - parent :: __ construct
- 29. API REST với CodeIgniter
- 30. Codeigniter unset session
ý tưởng tuyệt vời, thay vì chuyển dấu thời gian đến và cho mỗi yêu cầu bạn có thể tạo mục nhập cookie sẽ bị xóa sau 15 phút trước khi yêu cầu api bạn có thể kiểm tra xem cookie có tồn tại hay không nếu không đăng nhập theo câu trả lời – dEL
Có cách nào để đạt được điều này trong PHP CI hơn là gọi API đăng nhập từ front end –
@PsycheGenie vâng, nhìn vào đoạn cuối của tôi. Bất kỳ mã nào gọi API bên ngoài đều có thể kiểm tra dấu thời gian và đưa ra quyết định đầu tiên phản hồi thông tin xác thực mới và chỉ sau đó gọi api chính. –