2011-01-30 28 views
5

Tôi đang sử dụng OAuth để cho phép người dùng của tôi để OAuth với linh cảm, trên trang web của tôi, tôi có một nút cho phép người dùng đi đến linh cảm và nhập chi tiết của họLàm việc với python OAuth

<form action="/hunch" method="post" align = "right"> 
     <div> 
      <input type="submit" value="Login using Hunch"> 
     </div> 
    </form> 

thế nào có thể Tôi gọi một phương pháp ở đây chứ không phải là một xử lý? vì hiện tại nó đang gọi:

class hunch(webapp.RequestHandler): 
    def post(self): 
     url = 'http://hunch.com/authorize/v1/?app_id=123&next=/get-recs' 
     self.redirect(url) 
     logging.info("url2 = " + url2) 

     auth_token_key = self.request.get('auth_token_key') 
     logging.info("auth_token_key = " + auth_token_key) 

nhưng khi tôi in url2 nó chỉ in/hunch? Tôi hy vọng điều này có ý nghĩa.

Đồng thời, điều này cũng có được auth_token_key = self.request.get('auth_token_key') lấy thông tin từ url mà người dùng được hướng đến sau khi họ đã nhập thông tin xác thực của họ không?

+3

'url2' bắt nguồn từ đâu? Nó không được đề cập ở đâu trong mã của bạn. –

+0

bạn đã thử: http://gdatatips.blogspot.com/2009/04/oauth-in-google-app-engine.html – jfs

+0

@Nick Johnson xin lỗi ban đầu mã của tôi chứa url2 = request.get (url) nhưng điều này chỉ trả về/linh cảm – keith

Trả lời

0

Vui lòng đọc tài liệu cho Hunch OAuth.

Thay vì chặn các hình thức trên backend, gửi cho người dùng trực tiếp đến

http://hunch.com/authorize/v1/?app_id=12345 (cung cấp APP_ID của riêng bạn và một tham số tiếp theo tùy chọn).

Nếu người dùng ủy quyền cho ứng dụng của bạn, họ sẽ được chuyển hướng đến số redirect_url đã đăng ký cho đơn đăng ký của bạn cùng với auth_token_key. Ví dụ, một ứng dụng với một redirect_url của http://your-domain.com/authorized/ sẽ được chuyển đến

http://your-domain.com/authorized/?auth_token_key=7a1b2c3&auth_sig=941bc415af782a8d93a83c874922ae1b30e92a70

Tại thời điểm này, bạn có thể trao đổi các auth_token_key cho một auth_token.

Hunch sample app on Github có ví dụ về cách thực hiện việc này. Chức năng authorize tạo ra một trang yêu cầu người dùng kết nối linh hoạt và chức năng authorized trao đổi số auth_token_key cho số auth_token.

0

Khi nhật ký GAE (sử dụng OpenId) trong người dùng, nó dựa trên trang /_ah/login_required.

Để người dùng nhập thông tin đăng nhập của riêng họ, bạn nên tạo một trang chứa liên kết để đăng nhập với các nhà cung cấp khác nhau mà bạn muốn sử dụng. Sau đó, bạn phải ghi đè ánh xạ /_ah/login_required trong tệp ánh xạ url của mình để sử dụng trang đăng nhập tùy chỉnh của riêng bạn thay vì mặc định.

This is a very good tutorial I used for this.

Google now offers their own official tutorial.

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