2011-08-17 32 views
8

Vì vậy, here ở cuối trang cho biết cách để có thể thu hồi mã thông báo này thông qua AuthSub api (api cũ).Lập trình mã thông báo OAuth theo lập trình cho tài khoản google

Tôi quản lý toàn bộ hệ thống xác thực với api OAuth mới và khi tôi cố thu hồi mã thông báo bằng các bước authsub, nó chỉ gửi cho tôi "Mã thông báo lỗi 403: Mã xác thực không hợp lệ".

Đây là mã của tôi trong python:

req = urllib2.Request("https://www.google.com/accounts/AuthSubRevokeToken",headers= 
     {'Authorization':'AuthSub token="mysuperloluselesstoken"'}) 
urllib2.open(req) 

Có một cách dễ dàng hơn để làm điều này? Tôi có nên làm điều gì đó với người dùng secret_token + user_token + không?

+0

Tại sao lại sử dụng OAuth? Tại sao không phải khóa bí mật? Mục tiêu của bạn là truy cập API Google phải không? – codersofthedark

+0

nop, mục tiêu của tôi là thu hồi mã thông báo OAuth từ hệ thống của tôi mà không phải chuyển hướng người dùng đến trang API của Google và khiến người dùng xóa mã theo cách thủ công – Hassek

Trả lời

2

Chỉ cần trả lời ở đây: Server side removal of Oauth token

Bạn có URL đúng yêu cầu thu hồi một OAuth 1.0 token (bằng cách sử dụng thiết bị đầu cuối AuthSub). Vấn đề chính ở trên là bạn đang xây dựng tiêu đề AuthSub Authorization. Thay vào đó, bạn nên tạo yêu cầu đã ký OAuth 1.0 (giống như cách bạn ký bất kỳ yêu cầu nào khác qua OAuth 1.0): http://tools.ietf.org/html/rfc5849#section-3.5.1

+0

tuyệt vời! Tôi sẽ thử nó tối nay, cảm ơn! – Hassek

+0

hoạt động như một sự quyến rũ, cảm ơn rất nhiều nụ cười :) – Hassek

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