10

Có cách nào đơn giản để tích hợp Xác thực Firebase với Spring Security (đối với dịch vụ REST) ​​không? Từ những gì tôi đã đọc, có lẽ tôi sẽ cần sử dụng mã thông báo JWT (thu được qua Firebase), sử dụng mã thông báo đó để xác thực dịch vụ Spring và cuối cùng xác minh mã thông báo trong dịch vụ thông qua Firebase. Nhưng tôi không thể tìm thấy bất kỳ tài liệu (đơn giản) nào về việc sử dụng JWT với Spring Security.Dịch vụ REST sử dụng Bảo mật mùa xuân và Xác thực Firebase

Tôi cũng muốn có thể cung cấp điểm cuối/xác thực/đăng nhập sử dụng Xác thực cơ bản thay vì JWT để tôi có thể nhận mã thông báo JWT qua Firebase bằng thông tin đăng nhập email/mật khẩu. Nhưng điều này có nghĩa là cho phép Cơ bản Auth tại một điểm cuối trong dịch vụ và JWT Auth ở tất cả những người khác. Không chắc chắn điều đó là có thể.

+0

bạn có nghĩ là nên sử dụng bộ lọc được xác thực không? bạn "tin tưởng" vào xác thực được thực hiện bởi Firebase và sau đó ủy quyền ủy quyền cho bảo mật mùa xuân –

Trả lời

0

Câu trả lời ngắn gọn: không.

Câu trả lời dài: bạn nên tạo JWT của riêng mình, bất kể Firebase. Khi bạn nhận được JWT từ Firebase, hãy xác minh tính toàn vẹn của nó. Sau đó, hãy tự phát hành dựa trên dữ liệu trong mã thông báo. Sau đó, bạn chỉ cần điều chỉnh nó cho các nhà cung cấp OAuth khác nhau. Bằng cách này, bạn có thể tránh các chuyến đi khứ hồi đến căn cứ hỏa hoạn trên mỗi yêu cầu.

Để xác thực người dùng trên mỗi yêu cầu (xác thực không quốc tịch), bạn thêm bộ lọc có mức độ ưu tiên cao nhất. Từ yêu cầu http bạn lọc, hãy tải JWT và xác minh tính toàn vẹn của nó. Nếu tất cả đều tốt, hãy đặt xác thực trong SecurityContextHolder.

Các vấn đề liên quan