Cách duy nhất thực sự hợp lý, ngay bây giờ, để làm OAuth 1 trong trình duyệt, là định tuyến các cuộc gọi API qua máy chủ của bạn.
Chỉ đơn giản là không có cách nào, theo như tôi đã hiểu nó, xung quanh này. Nếu bạn thực hiện lệnh gọi OAuth 1.0a thông qua JavaScript từ trình duyệt -> Bạn sẽ CÓ để tiết lộ bí mật mã thông báo bí mật và mật khẩu người dùng của mình, cho ít nhất người dùng cuối.
Bạn không thể lưu trữ những thông tin quan trọng trong:
- một cookie, người dùng có thể tìm thấy chúng.
- lưu trữ cục bộ, người dùng có thể tìm thấy chúng (tốt hơn cookie mặc dù, vì nó không đòi hỏi phải gửi cookie qua lại tất cả thời gian qua HTTP)
- trong javascript, người dùng có thể tìm thấy chúng (mặc dù điều này có thể đặt cược tốt nhất của bạn vì nó dễ che khuất hơn).
Nếu đó chỉ là bí mật mã thông báo truy cập đã được tiếp xúc với người dùng cuối, điều đó có thể chịu đựng được - vì thực tế là họ đã xác thực ứng dụng của bạn. Nhưng việc mất bí mật người tiêu dùng của bạn thực sự không quá nóng, điều đó có nghĩa là ứng dụng của bạn đủ điều kiện nhận dạng trộm cắp danh tính. I. một người khác có thể viết một ứng dụng tuyên bố là ứng dụng của bạn.
Thậm chí nếu bạn làm cho nó hoạt động an toàn trong trình duyệt, bạn bị cản trở bởi các khối bảo mật tên miền chéo.
Nguồn
2011-12-15 21:50:45
Thay vì thêm câu hỏi mới vào chủ đề này, bạn nên đánh dấu câu hỏi đó là đã giải quyết và đăng câu hỏi mới, đặc biệt là các câu hỏi không giống nhau. Câu trả lời cho câu hỏi tiếp theo của bạn có sẵn tại đây: [An toàn OAuth trong Javascript] (http://stackoverflow.com/questions/6144826/secure-oauth-in-javascript) –
Tiêu đề của câu hỏi của tôi không thay đổi. Có thể bạn muốn tôi xóa nốt jsOAuth – rico
Chấp nhận câu trả lời của refp rồi ... :) –