Работа с OAuth Python - PullRequest
       2

Работа с OAuth Python

5 голосов
/ 31 января 2011

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

    <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-адреса, на который направляется пользователь после ввода своих учетных данных?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

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

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

http://hunch.com/authorize/v1/?app_id=12345 (с указанием собственного app_id и необязательного параметра next).

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

http://your -domain.com / уполномоченный /? Auth_token_key = 7a1b2c3 & auth_sig = 941bc415af782a8d93a83c874922ae1b30e92a70

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

Пример приложения Hunch на Github содержит пример того, как это нужно сделать. Функция authorize генерирует страницу с запросом пользователя на подключение Hunch, а функция authorized заменяет auth_token_key на auth_token.

0 голосов
/ 03 февраля 2011

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

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

Это очень хороший учебник, который я использовал для этого.

Google теперь предлагает собственный официальный учебник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...