anonymous@RULINUX.NET~# Last login: 2024-12-23 12:12:41
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Вопрос про OpenID, OpenAuth и т.п.

Вобщем озаботился я авторизацией через сторонние сервисы. Причем делаю её в виде отдельного сервиса, который можно подклячить к любому сайты. Например клево получилось прикрутить к Flask в виде расширения и виджета JQuery. Все гуд, попапчик отрывается, сам закрывается после логина, авторизационная инфа прокидывается в ажаксом при желании и т.п. Гуголь и фэйсбук уже есть, твитер тоже не проблем (придется там логин заводить для теста)))

Вопрос в следующем какие параметры у кого являются уникальным ID пользователя:

javascript

{
claimed_id: "https://www.google.com/accounts/o8/id?id=AгтошщCtzAsWdvrT-6lGop_xbmuXRRRxAy7jM"
email: "[email protected]"
first_name: "Aх-ха-ха"
last_name: "It is me"
locale: "ru"
name: "Aх-ха-ха"
}

 


javascript

{
access_token: "CAAGlnZCpCDtgBADNkaMZBjO2w5wfvwYWMFevXBjtxQs7vOywfGMBUEeShw4bUoCZgfA4jnKnddJfEA3RbUIGskvYWl1ykZD"
first_name: "Aх-ха-ха"
id: "100007779887774"
last_name: "It is me"
link: "http://www.facebook.com/aх-ха-ха"
locale: "ru_RU"
name: "It is me"
}

 


Здесь в принципе понятно, в гугле маил, в фэйсбуке id. А какие уникальные параметры у других провайдеров, никто случайно не озадачивался этой темой?

Ax-Xa-Xa(*) (2013-05-20 23:35:00)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Вопрос про OpenID, OpenAuth и т.п. от Ax-Xa-Xa 2013-05-20 23:35:00
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

>Причем делаю её в виде отдельного сервиса, который можно подклячить к любому сайты.
Вроде такого?:)

SystemV(*)(2013-05-20 23:56:31)

Emacs-w3m/1.4.513 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от SystemV 2013-05-20 23:56:31
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

> Вроде такого?:)
Блеа, где ты раньше был?)))

Но с другой стороны, у меня прокладка асинхронная tornado, по этому я например могу после открытия окна авторизации, запустить long polling ajax к торнадо и получить результат авторизации как он будет готов в скрипт.

Насколько я понимаю velruse WSGI, там такой компот не прокатить.

Ax-Xa-Xa(*)(2013-05-21 00:05:42)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от Ax-Xa-Xa 2013-05-21 00:05:42
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

>Блеа, где ты раньше был?)))
Так спрашивать надо:)

>Но с другой стороны, у меня прокладка асинхронная tornado, по этому я например могу после открытия окна авторизации, запустить long polling ajax к торнадо и получить результат авторизации как он будет готов в скрипт.
А разве все эти oauth не требуют редиректа браузера на сервис (гугл и т.д.) и обратно? В каком месте у тебя там long polling?

SystemV(*)(2013-05-21 00:17:25)

Emacs-w3m/1.4.513 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от SystemV 2013-05-21 00:17:25
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

> А разве все эти oauth не требуют редиректа браузера на сервис (гугл и т.д.) и обратно? В каком месте у тебя там long polling?


Aх-ха-ха! В этом вся фишка!

JQuery виджет открывает попап с определенным URL моего сервиса. Сервис начинает делать авторизаци. Этим же временем, виджет запускает запрос к моему же сервису на предмет завершения авторизации. В принципе все до безобразия просто)))

python
class GoogleAuthHandler(tornado.web.RequestHandler,
                        tornado.auth.GoogleMixin):
    """ Обработчик запросов на внешнюю аутентификаци Google. """
   
    @tornado.web.asynchronous
    @tornado.gen.coroutine
    def get(self, token):
        if self.get_argument("openid.mode", None):
            user = yield self.get_authenticated_user()
            self.application.auth_results[token] = tornado.escape.json_encode(user)
        else:
            self.authenticate_redirect()


class ResultHandler(tornado.web.RequestHandler):
    """ Обработчик запросов прверки завершения внешней аутентификаци. """
   
    @tornado.web.asynchronous
    @tornado.gen.coroutine
    def get(self, token):
        result = {}
        self.application.auth_results[token] = None
        expect = 60.0
        while expect>0:
            yield tornado.gen.Task(tornado.ioloop.IOLoop.instance().add_timeout, time.time() + 0.3)
            if self.application.auth_results[token] is not None:
                result = self.application.auth_results[token]
                break
            expect -= 0.3
        del self.application.auth_results[token]
        self.write(result);
 

Ax-Xa-Xa(*)(2013-05-21 00:33:01)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от Ax-Xa-Xa 2013-05-21 00:33:01
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

>JQuery виджет открывает попап с определенным URL моего сервиса. Сервис начинает делать авторизаци.
А разве браузер пользователя не перекинет на тот же гугл, чтобы он там отметил галочку "доверять данному сервису"?

SystemV(*)(2013-05-21 00:48:34)

Emacs-w3m/1.4.513 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от SystemV 2013-05-21 00:48:34
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

> А разве браузер пользователя не перекинет на тот же гугл, чтобы он там отметил галочку "доверять данному сервису"?
Нет, потому что у сервиса тоже доменное имя, что и у флаковского приложения)))

Ax-Xa-Xa(*)(2013-05-21 00:50:45)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от Ax-Xa-Xa 2013-05-21 00:33:01
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

> Aх-ха-ха! В этом вся фишка!

Бля, ну ты натуральный дебил. Какой дурак будет рассказывать твоему ресурсу свои пароли от гугла где евоные документы лежат!?

anonymous(*)(2013-05-21 01:23:07)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от anonymous 2013-05-21 01:23:07
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

> Бля, ну ты натуральный дебил. Какой дурак будет рассказывать твоему ресурсу свои пароли от гугла где евоные документы лежат!?


Придурак, не лезь когда умные люди беседуют. И успокайся, рассказывать свои пароли от гугла они будут гуглу, а гугл скажет мне, правильно ли они ввели эти самые пароли.

На иблан почитай на досуге http://ru.wikipedia.org/wiki/OAuth

Ax-Xa-Xa(*)(2013-05-21 08:03:48)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от Ax-Xa-Xa 2013-05-21 08:03:48
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

> рассказывать свои пароли от гугла они будут гуглу

И они совершенно чётко будут видеть, что рассказывают свои пароли именно гуглу, а не с кем-нибудь в кино?

anonymous(*)(2013-05-21 11:43:41)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Вопрос про OpenID, OpenAuth и т.п. от anonymous 2013-05-21 11:43:41
avatar
Скрыть

Re:Вопрос про OpenID, OpenAuth и т.п.

>> рассказывать свои пароли от гугла они будут гуглу
> И они совершенно чётко будут видеть, что рассказывают свои пароли именно гуглу, а не с кем-нибудь в кино?
Оставляю выяснить "четко или не четко будут видеть" тебе в качестве домашнего задания)))

Ax-Xa-Xa(*)(2013-05-21 12:58:01)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
Этот тред читают 2 пользователя:
Анонимных: 2
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!