2009-12-25 46 views
28

Tôi đang sử dụng OAuth trong ứng dụng web của mình và người dùng có thể đăng nhập bằng twitter.Twitter API - Đăng xuất

Tôi muốn thêm nút "chuyển đổi tài khoản twitter", thực sự xóa phiên và sau đó mở tệp authorize_url.

Khi xóa phiên trong ứng dụng web của tôi không đăng xuất khỏi twitter, authorize_url sẽ tự động xác thực người dùng twitter.com hiện tại. Điều đó có nghĩa là tôi không thể đăng xuất, trừ khi tôi gửi người dùng đến twitter.com.

Có thể với API không? Cách tốt nhất để thực hiện điều này là gì?

Trả lời

29

Phiên với Twitter được xác định bởi một cookie thuộc sở hữu của Twitter - điều mà bạn không có quyền kiểm soát. Bạn không thể đăng xuất chúng ra khỏi Twitter thay cho họ.

Nếu bạn muốn một người nào đó có thể sử dụng chức năng "chuyển đổi tài khoản twitter" của bạn, bạn sẽ cần phải chuyển chúng lại cho khớp OAuth lần nữa, nhưng sử dụng đường dẫn /oauth/authorize thay vì đường dẫn /oauth/authenticate. Điều này sẽ cho phép người dùng chuyển thông tin đăng nhập người dùng của họ tại Twitter trong quá trình bắt tay thay vì chỉ xác thực lại bằng cách sử dụng phiên Twitter hiện có của họ.

Ngoài ra, bạn có thể có một khái niệm riêng biệt về người dùng trong ứng dụng của riêng bạn, nhờ đó bạn có mô hình người dùng của riêng mình có nhiều tài khoản twitter liên kết với nó. Bằng cách đó, bạn có thể cho phép người dùng của mình chuyển đổi tài khoản dễ dàng hơn. Họ sẽ phải cho phép ứng dụng của bạn lên phía trước cho mỗi tài khoản twitter của họ, nhưng bạn sẽ có tất cả các khóa oauth của họ cho mỗi tài khoản twitter của họ sau đó.

+0

Cảm ơn bạn! Tôi đã sử dụng/xác thực/mà không thực sự biết sự khác biệt, nhưng với ủy quyền nó cho thấy người dùng tài khoản của họ trên twitter. – elado

+0

Ai có thể đăng mã cho bengottlieb/Twitter-OAuth-iPhone. Tôi không thể đăng xuất. – Voloda2

+2

Cách đăng xuất Twitter và đăng nhập bằng một tài khoản khác. Bạn có thể đặt một số mã? – Emerald214

32

Bạn có thể sử dụng oauth/xác thực và thêm force_login=true như được chỉ định trong GET oauth/authenticate. Điều này sẽ nhắc người dùng với một mẫu đăng nhập.

+0

hoạt động rất tốt, nhưng biểu mẫu vẫn chứa tên người dùng của người dùng đã đăng nhập trước đó: ( –

+0

@MubasharAhmad Và bạn có chắc chắn không chỉ trình duyệt tự động điền vào biểu mẫu? – abraham

+0

tôi đang sử dụng/phiên/hủy url để đăng nhập nhưng có vẻ như bạn không có sẵn nữa, và nó đã được hiển thị hình thức đăng nhập trống.Bất cứ lúc nào tôi không chắc chắn nó là kiểm soát web hoặc twitter nó tự.Nhưng có thể bạn là đúng tôi sẽ kiểm tra chức năng điều khiển trình duyệt web để làm cho nó hoạt động. –

0

Xin lỗi vì đã nhận xét là câu trả lời. giải pháp abraham hoạt động tốt, nhưng để xóa tên người dùng, bạn cũng cần phải thêm screen_name= để yêu cầu GET.

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