федеративный вход в систему против. oauth в Google app engine

#google-app-engine #openid #authentication

#google-app-engine #OpenID #аутентификация

Вопрос:

я хотел бы обеспечить аутентификацию пользователя третьей стороной в моем приложении app engine. опция федеративного входа в appengine — это не совсем то, что я ищу, и я не вижу конечных точек

чего я хочу, так это аутентификации пользователей через OpenID, как это сделано здесь, в stackoverflow. в первый раз, когда пользователь должен авторизовать приложение, и в последующие разы ему нужно будет только войти в систему или авторизоваться снова в стороннем приложении, а затем перенаправиться в мое приложение.

мое приложение написано на python, и я использую tornado Web в качестве фреймворка. я видел, что у tornado есть свой собственный модуль аутентификации, который я хочу проверить, но я хотел попросить предложения, прежде чем переходить к коду.

в принципе, я хотел бы, чтобы пользователи могли входить в систему через facebook, Twitter и Google.

аутентификация facebook, похоже, не так сложна для graph.facebook.com но нелегко протестировать аутентификацию через Twitter, мне кажется, что это сложнее, и я не могу найти никаких четких примеров.

я хотел бы услышать ваш опыт / предложения по этому поводу.

Ответ №1:

Вы описываете, как именно федеративный вход с OpenID работает в App Engine. Получать ли пользователям запрос на авторизацию после первого входа или нет, зависит от поставщика OpenID, а не от потребителя.

Facebook login не использует OpenID, и вам нужно будет реализовать это самостоятельно в сочетании с библиотекой сеансов, чтобы отслеживать зарегистрированных пользователей Facebook.

Комментарии:

1. @aschmid00 Twitter использует OAuth (на самом деле он предназначен для авторизации, а не аутентификации, но люди все равно используют его как auth), который поддерживается App Engine, просто не как часть федеративного входа.

2. @ник Джонсон вот что я имею в виду. если я хочу использовать Google, facebook, Twitter для аутентификации пользователей, я могу использовать федеративный вход только для учетной записи Google. это означает, что будет лучше, если я использую пакет аутентификации tornado, который отчасти перенесен для работы на appengine в рамках платформы tipfy, чтобы иметь один пакет, который занимается аутентификацией.

3. @aschmid00 Вы сказали в своем вопросе «чего я хочу, так это аутентификации пользователей через OpenID, как это делается здесь, в stackoverflow», вот что я ответил.

4. в конце я сам внедрил вход в Twitter и Facebook и использую федеративный вход в Google. спасибо тебе, Ник, за твою помощь.

5. @aschmid00 не могли бы вы предоставить некоторые подробности или ссылки на места, из которых вы ссылались? Спасибо