为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_id 和 user.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.registered和user.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.registered和user.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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6b6f6964740464e2b5cf431ab8c51d2596793121220082d5f837b50b1b72a2fa |
|
MD5 | 3aa581ca7511a8cf7f9f49a641a3719b |
|
BLAKE2b-256 | 1a8b7a50697d93759e200175a162038425aa4855f39e509dea69943ff16fe5ac |