2010-05-12 38 views
16

Tôi đang viết một ứng dụng web sẽ sử dụng twitter làm phương thức đăng nhập chính của nó. Tôi đã viết mã nhận mã thông báo oauth từ Twitter. Kế hoạch của tôi bây giờ làViệc cần làm với mã thông báo oauth twitter sau khi được truy xuất?

  1. Tìm các entry trong bảng Users tôi cho tên người dùng twitter lấy ra sử dụng được dấu hiệu, hoặc tạo ra các mục nếu cần thiết
  2. Cập nhật cột với OAuth mới thẻ Users.TwitterOAuthToken
  3. Tạo một cookie vĩnh viễn với một hướng dẫn ngẫu nhiên trên trang web và chèn một bản ghi vào bảng UserCookies của tôi khớp Cookie với Người dùng
  4. khi có yêu cầu. Tôi sẽ tìm id cookie của trình duyệt trong bảng UserCookies, sau đó sử dụng nó để tìm ra người dùng và thực hiện yêu cầu twitter thay mặt họ
  5. Viết token oauth vào một số trang như là một biến js để javascript có thể đưa ra yêu cầu thay mặt cho người dùng
  6. Nếu người dùng xóa/cookies của mình người dùng sẽ phải đăng nhập lại đến twitter

Đây có phải là quá trình chính xác không? Tôi đã tạo ra bất kỳ lỗ hổng bảo mật lớn nào chưa?

Trả lời

10

Nghe hay đấy.

Tuy nhiên, tôi khuyên bạn không nên sử dụng Tên người dùng Twitter làm chỉ mục chính cho bảng Người dùng. Vì tên người dùng Twitter có thể được thay đổi. Tôi học được điều này một cách khó khăn.

Bạn nên sử dụng ID người dùng Twitter (int lớn) làm chỉ mục chính vì nó không thay đổi nếu người dùng thay đổi tên người dùng của họ.

Đối với mã thông báo, bạn có thể lưu trữ để sử dụng sau này. Trong thực tế, bạn được khuyến khích làm như vậy.

+0

Cảm ơn bạn đã sử dụng id. Có an toàn khi gửi mã thông báo oauth cho khách hàng để yêu cầu không? – mcintyre321

+0

vì mã thông báo được gắn với đơn đăng ký của bạn. – Jayrox

+1

Sẽ không có vấn đề gì nếu ai đó đánh cắp dữ liệu tôi đã gửi và sau đó thực hiện các yêu cầu bằng cách sử dụng mã thông báo xác thực đó? Hay tôi đang quá hoang tưởng? – mcintyre321

0

Bạn không chỉ lưu oauth_token dưới dạng cookie thay vì GUID và thực hiện tra cứu dựa trên người dùng trên oauth_token hoặc thực tiễn không tốt?

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