2010-04-29 38 views
17

Tại sao OAuth bao gồm cả mã thông báo truy cập và bí mật mã thông báo truy cập dưới dạng hai giá trị riêng biệt? Là người tiêu dùng hoặc OAuth, tất cả các đề xuất mà tôi đã thấy cho thấy rằng tôi nên lưu trữ mã thông báo và bí mật với nhau và về cơ bản coi chúng là một giá trị.Tại sao OAuth cung cấp cả mã thông báo truy cập và mã thông báo truy cập? Tại sao không chỉ là một giá trị duy nhất?

Vậy tại sao đặc điểm kỹ thuật yêu cầu hai giá trị ở vị trí đầu tiên?

+0

Tôi có thể đã trả lời câu hỏi của riêng mình, nhưng tôi nghi ngờ lý do là lập chỉ mục cho nhà cung cấp OAuth. Nhà cung cấp có thể tra cứu hiệu quả một bản ghi bằng mã thông báo truy cập và sau đó xác minh bí mật mã thông báo truy cập, thay vì phải tra cứu kết hợp dài và không thể lập chỉ mục được. –

Trả lời

21

Thực ra, bí mật mã thông báo truy cập không bao giờ được chuyển đến nhà cung cấp. Thay vào đó, các yêu cầu truyền mã thông báo truy cập và sau đó sử dụng bí mật để ký yêu cầu. Đó là lý do tại sao bạn cần cả hai: một để xác định và một để bảo mật

+0

Nhưng tại sao Twitter lại truyền chúng tôi bí mật? Xem https://dev.twitter.com/docs/auth/application-only-auth –

+1

@JoshuaFrank Không hoàn toàn chắc chắn lý do. Đó có lẽ là điều bạn muốn trực tiếp trên Twitter. Nhưng một trong hai cách, một điều quan trọng cần lưu ý là phương pháp của họ ** yêu cầu ** SSL để được an toàn. – yydl

+0

Điểm tốt về SSL, nhưng sau đó tôi trở lại để không hiểu tại sao chúng ta cần một chìa khóa và một bí mật. –

0

Có 2 bí mật, một bí mật là bí mật và bí mật của người tiêu dùng khác. Bí mật được sử dụng để ký các yêu cầu (để tạo chữ ký oauth) nhưng không được truyền trong tiêu đề yêu cầu, nơi mã thông báo được gửi trong tiêu đề để xác định ứng dụng khách và xác minh xem nó có quyền truy cập hay không.

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