Yêu cầu thg 12 26, 2023 8:51 SA 147 0 4
  • 147 0 4
0

api - laravel

Chia sẻ
  • 147 0 4

e có 2 dự án Laravel (A và B). A: quản lý người dùng (cung cấp các Api login, logout, register .....). B: quản lý xyz. (cung cấp Api xyz) câu hỏi: có thể sử dụng access_token login của thằng A để truy cập api của thằng B k.

4 CÂU TRẢ LỜI


Đã trả lời thg 12 27, 2023 3:34 SA
0

Có, bạn có thể sử dụng access_token login của thằng A để truy cập api của thằng B. Để làm được điều này, bạn cần thêm một middleware vào api của thằng B để kiểm tra access_token. Middleware này sẽ kiểm tra xem access_token có hợp lệ hay không, nếu hợp lệ thì sẽ cho phép người dùng truy cập api.

Chia sẻ
Avatar kaka @chauchauonline123
thg 12 29, 2023 7:52 SA

config và kiểm tra thế nào để Api của B nhận token của thằng A. bác nói kỹ giúp e phần này được k.

Đã trả lời thg 1 5, 10:07 SA
0

Như bạn dovannam115 nói, bạn có thể thêm middleware ở B để check acess_token có hợp lệ hay không bằng cách sử dụng access_token đó call ngược lại vào A (ví dụ domain_A.com/api/me).

Nếu response trả về OK thì nghĩa là acess_token hợp lệ và ngược lại thì acess_token không hợp lệ.

Chia sẻ
Đã trả lời thg 1 21, 8:58 SA
by Dev Success 101
0

Do là hai project riêng biệt nên B muốn dùng chung được access token của A thì có lẽ bạn cũng sẽ cần phải mang APP_KEY của A sang dùng cho B cũng như implement thêm cơ chế authentication/authorization y hệt như trên A. -> Bạn có thể đóng gói hết code cho việc authentication của A thành một composer package rồi cài sang cho B.

Ngoài ra cũng có thể ứng dụng các phương án khác như:

  • Tách phần authentication / authorization của A ra xử lý tại tầng API Gateway. A và B cùng đứng sau API Gateway thì không cần phải xử lý lại authentication nữa.
  • Cũng có thể dùng kiểu tạo middleware trên B gọi ngược sang A để lấy thông tin. Tuy nhiên điểm hạn chế của nó là B sẽ bị phụ thuộc vào A. Cùng với đó là B cũng cần triển khai trên chung private network vì nếu từ B mà gọi sang A qua public domain thì coi như bỏ vì response time sẽ tăng lên rất nhiều.
  • SSO, Oauth2, OIDC...
Chia sẻ
Đã trả lời thg 3 13, 3:46 SA
0

Theo mình hiểu thì để 2 app có thể sử dụng chung access_token thì 2 app cần có config phần login và hash giống nhau (APP_KEY và SECRET_KEY giống nhau)

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí