跳转到主要内容

为TurboGears2提供的Facebook身份验证

项目描述

关于FBAuth

fbauth是TurboGears2的插件式Facebook身份验证应用程序。

它的目标是使任何TurboGears2应用程序实现使用Facebook Connect的身份验证和注册变得简单。

安装

fbauth可以从PyPI或bitbucket安装

easy_install tgapp-fbauth

对大多数用户来说应该都能正常工作

插入fbauth

在你的应用程序 config/app_cfg.py 中导入 plug

from tgext.pluggable import plug

然后在文件的 末尾 调用 plug 并传入 fbauth

plug(base_config, 'fbauth')

你将能够使用fbauth提供的助手添加Facebook登录、注册和连接按钮。

请注意,Facebook Connect不会在端口80之外运行的应用程序中正确工作

Facebook Id和头像

当使用FBAuth时,用户将有一个新的相关实体称为fbauth。通过访问 user.fbauth,可以访问用户的 user.fbauth.facebook_iduser.fbauth.profile_picture

FBAuth助手

fbauth提供了一系列助手,可以自动生成按钮和JavaScript,使你的用户可以使用Facebook Connect登录你的应用程序

  • h.fbauth.login_button(appid, text=’使用Facebook登录’,scope=None, remember=’’, size=’medium’)

    放置登录按钮。登录允许使用已经与Facebook ID关联的用户登录。要将用户与Facebook ID关联,可以使用注册连接

    appid参数必须是您的应用程序ID,如果提供None,则将跳过FB.init调用,以便可以手动初始化FB。

    text参数是按钮内显示的文本。

    scope参数是应用程序将请求的Facebook权限。默认情况下,这些是用户数据和电子邮件。

    可以使用remember参数使用过期日期登录用户,而不是使用会话cookie,这样会话可以持续比浏览器标签寿命更长。

    可以使用size参数选择Facebook登录按钮的大小。您可以使用:小、中、大或超大。

  • h.fbauth.login_button_custom(appid, text=’使用Facebook登录’,scope=None, remember=’’, img_btn=’’)

    放置带有自定义图像的登录按钮。登录允许使用已经与Facebook ID关联的用户登录。要将用户与Facebook ID关联,可以使用注册连接

    appid参数必须是您的应用程序ID,如果提供None,则将跳过FB.init调用,以便可以手动初始化FB。

    text参数是按钮内显示的文本。

    scope参数是应用程序将请求的Facebook权限。默认情况下,这些是用户数据和电子邮件。

    可以使用remember参数使用过期日期登录用户,而不是使用会话cookie,这样会话可以持续比浏览器标签寿命更长。

    img_btn参数指定自定义URL图像按钮。

  • h.fbauth.register_button(appid, text=’使用Facebook注册’,scope=None, remember=’’, size=’medium’)

    放置注册按钮。注册会自动从其Facebook数据创建新用户并登录。如果要在快速入门用户模型中添加的数据(除了默认要求的数据外)可以为空,则注册将正常工作。提供了一种识别新注册用户和请求缺失数据的方法。如果已存在具有获取的令牌的用户,则将登录该用户而不是创建新用户。这允许实现一键注册和登录。新创建的用户将在user.fbauth.registereduser.fbauth.just_connected标志处于True状态,这样就可以识别用户何时刚刚注册并要求他们提供Facebook未提供的信息。建议在post_login处理程序中将just_connected标志设置为False,以正确跟踪真正刚刚注册的用户。

    appid参数必须是您的应用程序ID,如果提供None,则将跳过FB.init调用,以便可以手动初始化FB。

    text参数是按钮内显示的文本。

    scope参数是应用程序将请求的Facebook权限。默认情况下,这些是用户数据和电子邮件。

    可以使用remember参数使用过期日期登录用户,而不是使用会话cookie,这样会话可以持续比浏览器标签寿命更长。

    可以使用size参数选择Facebook注册按钮的大小。您可以使用:小、中、大或超大。

  • h.fbauth.register_button_custom(appid, text=’使用Facebook注册’,scope=None, remember=’’, img_btn=’’)

    放置带有自定义图像的注册按钮。注册会自动从其Facebook数据创建新用户并登录。如果要在快速入门用户模型中添加的数据(除了默认要求的数据外)可以为空,则注册将正常工作。提供了一种识别新注册用户和请求缺失数据的方法。如果已存在具有获取的令牌的用户,则将登录该用户而不是创建新用户。这允许实现一键注册和登录。新创建的用户将在user.fbauth.registereduser.fbauth.just_connected标志处于True状态,这样就可以识别用户何时刚刚注册并要求他们提供Facebook未提供的信息。建议在post_login处理程序中将just_connected标志设置为False,以正确跟踪真正刚刚注册的用户。

    appid参数必须是您的应用程序ID,如果提供None,则将跳过FB.init调用,以便可以手动初始化FB。

    text参数是按钮内显示的文本。

    scope参数是应用程序将请求的Facebook权限。默认情况下,这些是用户数据和电子邮件。

    可以使用remember参数使用过期日期登录用户,而不是使用会话cookie,这样会话可以持续比浏览器标签寿命更长。

    img_btn参数指定自定义URL图像按钮。

  • h.fbauth.connect_button(appid, text=’连接您的Facebook账户’,scope=None, size=’medium’)

    放置一个连接账户按钮。连接允许将已存在的用户与Facebook账户关联,以便他们以后可以使用Facebook账户登录。新连接的用户将具有 user.fbauth.just_connected 标志为 True,而 user.fbauth.registered 标志将为 False,以区分通过连接与通过Facebook注册的用户。

    appid参数必须是您的应用程序ID,如果提供None,则将跳过FB.init调用,以便可以手动初始化FB。

    text参数是按钮内显示的文本。

    scope参数是应用程序将请求的Facebook权限。默认情况下,这些是用户数据和电子邮件。

    可以使用size参数选择Facebook登录按钮的大小。您可以使用:小、中、大或超大。

  • h.fbauth.connect_button_custom(appid, text=‘连接您的Facebook账户’,scope=None, img_btn=’’)

    放置一个连接账户按钮。连接允许将已存在的用户与Facebook账户关联,以便他们以后可以使用Facebook账户登录。新连接的用户将具有 user.fbauth.just_connected 标志为 True,而 user.fbauth.registered 标志将为 False,以区分通过连接与通过Facebook注册的用户。

    appid参数必须是您的应用程序ID,如果提供None,则将跳过FB.init调用,以便可以手动初始化FB。

    text参数是按钮内显示的文本。

    scope参数是应用程序将请求的Facebook权限。默认情况下,这些是用户数据和电子邮件。

    img_btn参数指定自定义URL图像按钮。

可用钩子

FBAuth公开了一些钩子来改变其行为,可以在TurboGears2中使用register_hook的钩子包括

  • fbauth.on_registration(facebook_data, user) -> 当从Facebook登录注册新用户时运行,允许向用户添加附加数据。

  • fbauth.on_login(facebook_data, user) -> 当从Facebook登录时运行,允许更新/添加用户附加数据。

FBAuth工具

FBAuth提供了一组工具方法,使得与Facebook交互变得简单。

  • fbauth.lib.has_fbtoken_expired(user)

    检查给定用户的Facebook令牌是否已过期,这在调用Facebook API时可能很有用。Facebook令牌本身可以从 user.fbauth.access_token 获取。

UTF8和Mysql

要符合UTF8标准的Mysql字符集为utf8mb4。如果您已经有一个使用latin-1或utf8作为校对的安装,并且想要符合UTF8标准,您必须将数据库转换为使用utf8mb4作为校对,并在连接字符串中添加?charset=utf8mb4。您必须使用以下命令启动从版本0.3.4包含的迁移

$ gearbox migrate-pluggable fbauth upgrade

回滚

$ gearbox migrate-pluggable fbauth downgrade

有关更多信息,请参阅 https://github.com/TurboGears/tgext.pluggable#using-migrations

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

tgapp-fbauth-0.3.4.tar.gz (9.5 kB 查看散列)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面