Các OAuth 2.0 dự thảo v2-22 Phần 3.2 nói:Khách hàng có nên nhận mã thông báo truy cập OAuth 2 bằng GET hoặc POST không?
khách hàng phải sử dụng HTTP "POST" phương pháp khi thực hiện access token yêu cầu.
Tuy nhiên, nếu bạn xem triển khai Facebook và Foursquare OAuth2, họ yêu cầu khách hàng thực hiện yêu cầu GET đơn giản để yêu cầu mã thông báo truy cập. Họ yêu cầu khách hàng đặt client_id và client_secret trong URL.
Tôi đang xây dựng một máy chủ OAuth 2 và sau khi nhìn thấy triển khai của Facebook và Foursquare, tôi cũng đang cân nhắc việc phá vỡ giao thức để cho phép khách hàng yêu cầu mã thông báo truy cập qua GET. Giao tiếp của trang web của tôi đang sử dụng SSL, tương tự như Facebook và Foursquare. Vì vậy, câu hỏi của tôi là: Có lý do chính đáng nào khiến tôi không cho phép khách hàng yêu cầu mã thông báo truy cập thông qua phương thức GET qua HTTPS không? Không.
Điểm tốt về nhật ký máy chủ, nhưng đối với Oauth2, chúng tôi lưu trữ client_id và client_key trong văn bản thuần túy trên máy chủ của chúng tôi, vì vậy nếu thông tin này nằm trong nhật ký máy chủ của chúng tôi thực sự tệ hơn nhiều so với cơ sở dữ liệu của chúng tôi? – Spike
Đồng ý - tương tự như vậy. Nếu máy chủ web và OAuth AS của bạn đều nằm dưới sự kiểm soát của bạn - không có vấn đề lớn nào cho phép GET IMHO. –