5

EDIT 1Làm thế nào để xử lý phiên Hạn sử dụng trong ServiceWorker

Một điều tôi đã không làm cho rõ ràng trong trường hợp sử dụng của tôi là trình duyệt KHÔNG cần để hiển thị UX để xác thực, hoặc ít nhất đó là không bắt buộc.

var credential = await navigator.credentials.get({ 
      password: true, 
      mediation: "silent", 
      federated: {providers: federatedProviderURL}} 
     ); 

Nếu người dùng đã đăng xuất hoặc xóa mật khẩu khỏi UA thì không thành công (thông tin xác thực == null).

Các tác giả đặc tả chứng chỉ có thể quy định rằng, nếu gọi từ ServiceWorker, hòa giải phải "im lặng" hoặc, nếu khác và không có giao diện người dùng có sẵn một: -

Lỗi - NOUI hành động đòi hỏi giao diện người dùng để hoàn

Nhưng điểm quan trọng ở đây là trong phần lớn các trường hợp có thể tái xác thực keyless.

Điều đó có thay đổi mọi thứ không?

Cheers Richard

ORIGINAL POST: -

Nếu một Fetch trong ServiceWorker tôi nhận 401 từ máy chủ làm thế nào để tái xác thực với máy chủ nếu tôi không có tập trung hoặc cận cảnh khách hàng?

NB: Tôi đang nói về các yêu cầu POST đang cập nhật máy chủ và không chỉ đọc từ bộ nhớ cache cho đến khi mạng trở lại.

Đưa khách hàng trở lại tiêu điểm? Đáng sợ cho người dùng không có hành động nào gây ra phản ứng đó và họ có thể không ở đó để đăng nhập lại.

Đồng bộ hóa nền sẽ làm gì nếu nó nhận được 401?

Nếu navigator.credentials được hiển thị trong ServiceWorker sẽ đủ!

Phiên không bao giờ hết hạn?

Những người khác đang làm gì?

Tuy nhiên, một lần nữa tôi cấm W3C/IETF Github :-(

Nếu ai đó có thể thêm dòng sau vào ServiceWorker issues mà có thể giúp: - Xin xem Use-Case

Nếu một phiên tài khoản đã hết hạn một ServiceWorker hiện không có cơ chế nào để xác thực lại với máy chủ vì không có sẵn cơ chế heuristic để xác định thông tin xác thực

Nếu ủy nhiệm.() Có sẵn thì xác thực lại có thể diễn ra trong suốt. Google) sau đó nếu người dùng đã đăng xuất rồi trạng thái đó sẽ được vinh danh.

+0

Có thể gửi thông báo nhưng tại sao người dùng làm phiền nếu đăng nhập tự động là/nên khả dụng? – McMurphy

Trả lời

1

Dường như đã có cuộc thảo luận về vấn đề này trước đây.Vui lòng biển GitHub

Tôi nghĩ rằng việc xác thực lại nền không đủ thường xuyên để thông báo về đăng nhập hoặc lỗi là giải pháp phù hợp và thân thiện với người dùng.

Hãy bình luận ở đó nếu bạn có bất kỳ ý tưởng nào!

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