2010-02-02 34 views
8

Tôi có trang web nơi tôi sử dụng Oauth để đăng nhập người dùng vào Gmail, sau đó truy xuất danh bạ của họ và thông tin khác. Tôi cần phải làm gì để đảm bảo rằng khi người dùng đăng xuất khỏi trang web của tôi, anh ấy cũng tự động đăng xuất khỏi Gmail?Đăng xuất theo chương trình từ Gmail qua Oauth

Trả lời

3

Theo như tôi biết, không có đăng xuất trong OAuth. Bạn chỉ cần ngừng gửi mã thông báo giữa ứng dụng của mình và Gmail.

3

Đây có thể là một thiếu sót của luồng OAuth mạng-máy chủ. Người dùng phải đăng nhập vào tài khoản của họ để cung cấp sự đồng ý, nhưng sau khi họ đồng ý, luồng OAuth sẽ đưa họ ra khỏi Gmail. Vì người dùng đang ở trong một bộ óc khác khi đăng nhập để cung cấp sự đồng ý và đăng nhập để gửi/kiểm tra email, họ có thể không nhận ra rằng họ vẫn đăng nhập sau khi luồng người dùng trở lại người dùng OAuth.

Tôi gặp vấn đề này với Gmail cũng như Yahoo và WindowsLive.

Khi không có tiêu chuẩn, tôi đang xem xét sửa đổi trải nghiệm người dùng trên trang web của mình để người dùng vẫn đăng nhập vào tài khoản Gmail của mình rõ ràng hơn và sẽ vẫn như vậy cho đến khi họ đăng xuất. Tùy chọn tốt nhất của tôi vào thời điểm này là thêm liên kết 'đăng xuất' bên cạnh biểu tượng Gmail trên trang web của tôi. Liên kết 'đăng xuất' này sẽ khởi chạy (chưa) một cửa sổ bật lên khác để điều hướng đến trang Đăng xuất Gmail/Yahoo/WindowsLive.

Tôi không yêu thích cách tiếp cận này, sẽ tốt hơn nếu liên kết 'đăng xuất' của tôi có thể đăng xuất người dùng mà không yêu cầu cửa sổ bật lên. IE ứng dụng của tôi sẽ đăng xuất thay mặt cho người dùng bằng cách nhấn điểm cuối đăng xuất OAuth.

Cách tiếp cận ít rõ ràng hơn là tải trang đăng xuất gmail (https://mail.google.com/mail/u/0/?logout & hl = vi) vào iframe ẩn trên trang web của tôi, khi người dùng nhấp vào liên kết 'đăng xuất' của tôi. Điều này sẽ có UX tôi sau.

0

Thật không may, việc mở khung nội tuyến sẽ không còn hoạt động trong các trình duyệt mới hơn.

Google đã bắt đầu chặn các yêu cầu đến từ một iframe (trừ youtube Nhúng iframe và bất kỳ những người hỗ trợ chính thức khác)

http://groups.google.com/group/youtube-api/browse_thread/thread/2d2236731672a098

tôi phải làm một kludge khủng khiếp của popping lên một cửa sổ, đăng "action_logout" tới www.youtube.com (đó là nơi tôi muốn đăng xuất) và sau đó đóng cửa sổ bật lên đó.

Không quá hài lòng với nó, nhưng có vẻ là giải pháp duy nhất cho đến nay.

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