2011-01-30 4 views
5

Я ищу с помощью OAuth, чтобы мой пользователю OAuth с Hunch, на веб-странице У меня есть кнопка, чтобы позволить пользователю перейти на догадку и ввести их деталиРабота с OAuth питона

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

Как может Я называю метод здесь, а не обработчиком? как это в настоящее время называет это:

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) 

но когда я печатаю url2, он просто печатает/догадывается? Я надеюсь в этом есть смысл.

Также должно ли это auth_token_key = self.request.get('auth_token_key') получать информацию с URL-адреса, на который пользователь обращается после того, как они ввели свои учетные данные?

+3

Откуда берется «url2»? Он не упоминается нигде в вашем коде. –

+0

Вы пробовали: http://gdatatips.blogspot.com/2009/04/oauth-in-google-app-engine.html – jfs

+0

@Nick Johnson извините, изначально мой код содержал url2 = request.get (url), но это просто возвращает/hunch – keith

ответ

0

Пожалуйста, прочитайте документацию для Hunch OAuth.

Вместо того, чтобы перехватывать форму на внутреннем интерфейсе, отправить пользователю непосредственно

http://hunch.com/authorize/v1/?app_id=12345 (Обеспечивая собственный APP_ID и дополнительный следующий параметр).

Если пользователь разрешает приложения, они будут перенаправлены на redirect_url зарегистрирован для применения вместе с auth_token_key. Например, приложение с redirect_url из http://your-domain.com/authorized/ будет перенаправлен на

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

На этом этапе вы можете обменять auth_token_key для auth_token.

У Hunch sample app on Github есть пример того, как это следует делать. Функция authorize генерирует страницу, запрашивающую у пользователя Hunch connect, а функция authorized обменивает auth_token_key на auth_token.

0

Когда GAE (используя OpenId) регистрируется пользователем, он полагается на страницу /_ah/login_required.

Чтобы пользователь мог ввести свои учетные данные, вы должны создать страницу, содержащую ссылки для входа в систему с различными поставщиками, которые вы хотите использовать. Затем вы должны переопределить отображение /_ah/login_required в вашем файле сопоставления url, чтобы использовать свою собственную страницу входа в систему, а не по умолчанию.

This is a very good tutorial I used for this.

Google now offers their own official tutorial.

Смежные вопросы