{ "info": { "author": "AXANT", "author_email": "tech@axant.it", "bugtrack_url": null, "classifiers": [], "description": "About FBAuth\n-------------------------\n\nfbauth is a Pluggable Facebook Authentication application for TurboGears2.\n\nIt aims at making easy to implement authentication and registration with\nFaceBook Connect in any TurboGears2 application.\n\nInstalling\n-------------------------------\n\nfbauth can be installed both from pypi or from bitbucket::\n\n easy_install tgapp-fbauth\n\nshould just work for most of the users\n\nPlugging fbauth\n----------------------------\n\nIn your application *config/app_cfg.py* import **plug**::\n\n from tgext.pluggable import plug\n\nThen at the *end of the file* call plug with fbauth::\n\n plug(base_config, 'fbauth')\n\nYou will be able to add facebook login, registration and connect\nbuttons using the helpers provided by fbauth.\n\n**Keep in mind that facebook connect won't work correctly with\napplications that are not running on port 80**\n\nFaceBook Id and Avatar\n-----------------------\n\nWhen using FBAuth users will have a new related entity called ``fbauth``.\nAccessing ``user.fbauth`` it is possible to access the user ``user.fbauth.facebook_id``\nand ``user.fbauth.profile_picture``.\n\nFBAuth Helpers\n----------------------\n\nfbauth provides a bunch of helpers which will automatically\ngenerate the buttons and the javascript required to let\nyour users log into your application using FaceBook Connect:\n\n* **h.fbauth.login_button(appid, text='Login with Facebook', scope=None, remember='', size='medium')**\n Places a login button.\n Login permits to log with an user that has already been connected with a facebook id.\n To connect an user to a facebook id, *registration* or *connect* can be used.\n\n The ``appid`` parameter has to be the id of your application, if ``None`` is provided\n the FB.init call will be skipped so that FB can be manually initialized.\n\n The ``text`` parameter is the text to show inside the button.\n\n The ``scope`` parameter is the permissions that the application will ask to facebook.\n By default those are only user data and email.\n\n The ``remember`` parameter can be used to log the user with an expiration date instead\n of using a session cookie, so that the session can last longer than the browser tab life.\n\n The ``size`` parameter can be used to choose size of facebook login button. You can use : small, medium, large or xlarge.\n\n* **h.fbauth.login_button_custom(appid, text='Login with Facebook', scope=None, remember='', img_btn='')**\n Places a login button with custom image.\n Login permits to log with an user that has already been connected with a facebook id.\n To connect an user to a facebook id, *registration* or *connect* can be used.\n\n The ``appid`` parameter has to be the id of your application, if ``None`` is provided\n the FB.init call will be skipped so that FB can be manually initialized.\n\n The ``text`` parameter is the text to show inside the button.\n\n The ``scope`` parameter is the permissions that the application will ask to facebook.\n By default those are only user data and email.\n\n The ``remember`` parameter can be used to log the user with an expiration date instead\n of using a session cookie, so that the session can last longer than the browser tab life.\n\n The ``img_btn`` parameter specific custom url image button.\n\n* **h.fbauth.register_button(appid, text='Register with Facebook', scope=None, remember='', size='medium')**\n Places a registration button.\n Registration automatically creates a new user from its facebook data and logs him in.\n *For registration to work it is required that any additional data apart the data which\n is already required by default in the quickstart User model can be nullable. A way\n to identify newly registered users and ask for missing data is provided*\n If an user for the obtained token already exists that user is logged in instead of\n creating a new user. This permits to implement 1 click registration and login.\n Newly created users will have both ``user.fbauth.registered`` and ``user.fbauth.just_connected``\n flags at ``True`` so that it is possible to identify when users have just registered\n and ask them more informations that facebook didn't provide. It is suggested to set\n the ``just_connected`` flag to ``False`` on post_login handler to correctly track\n users that have just registered for real.\n\n The ``appid`` parameter has to be the id of your application, if ``None`` is provided\n the FB.init call will be skipped so that FB can be manually initialized.\n\n The ``text`` parameter is the text to show inside the button.\n\n The ``scope`` parameter is the permissions that the application will ask to facebook.\n By default those are only user data and email.\n\n The ``remember`` parameter can be used to log the user with an expiration date instead\n of using a session cookie, so that the session can last longer than the browser tab life.\n\n The ``size`` parameter can be used to choose size of facebook register button. You can use : small, medium, large or xlarge.\n\n* **h.fbauth.register_button_custom(appid, text='Register with Facebook', scope=None, remember='', img_btn='')**\n Places a registration button with custom image.\n Registration automatically creates a new user from its facebook data and logs him in.\n *For registration to work it is required that any additional data apart the data which\n is already required by default in the quickstart User model can be nullable. A way\n to identify newly registered users and ask for missing data is provided*\n If an user for the obtained token already exists that user is logged in instead of\n creating a new user. This permits to implement 1 click registration and login.\n Newly created users will have both ``user.fbauth.registered`` and ``user.fbauth.just_connected``\n flags at ``True`` so that it is possible to identify when users have just registered\n and ask them more informations that facebook didn't provide. It is suggested to set\n the ``just_connected`` flag to ``False`` on post_login handler to correctly track\n users that have just registered for real.\n\n The ``appid`` parameter has to be the id of your application, if ``None`` is provided\n the FB.init call will be skipped so that FB can be manually initialized.\n\n The ``text`` parameter is the text to show inside the button.\n\n The ``scope`` parameter is the permissions that the application will ask to facebook.\n By default those are only user data and email.\n\n The ``remember`` parameter can be used to log the user with an expiration date instead\n of using a session cookie, so that the session can last longer than the browser tab life.\n\n The ``img_btn`` parameter specific custom url image button.\n\n* **h.fbauth.connect_button(appid, text='Connect your Facebook account', scope=None, size='medium')**\n Places a connect account button.\n Connect permits to associate an already existing user to a facebook account so that\n it can later log with its facebook account.\n Newly connected users will have ``user.fbauth.just_connected`` flag at ``True`` while\n the ``user.fbauth.registered`` flag will be ``False`` to differentiate users that\n have been connected from users that have registered with facebook.\n\n The ``appid`` parameter has to be the id of your application, if ``None`` is provided\n the FB.init call will be skipped so that FB can be manually initialized.\n\n The ``text`` parameter is the text to show inside the button.\n\n The ``scope`` parameter is the permissions that the application will ask to facebook.\n By default those are only user data and email.\n\n The ``size`` parameter can be used to choose size of facebook login button. You can use : small, medium, large or xlarge.\n\n* **h.fbauth.connect_button_custom(appid, text='Connect your Facebook account', scope=None, img_btn='')**\n Places a connect account button.\n Connect permits to associate an already existing user to a facebook account so that\n it can later log with its facebook account.\n Newly connected users will have ``user.fbauth.just_connected`` flag at ``True`` while\n the ``user.fbauth.registered`` flag will be ``False`` to differentiate users that\n have been connected from users that have registered with facebook.\n\n The ``appid`` parameter has to be the id of your application, if ``None`` is provided\n the FB.init call will be skipped so that FB can be manually initialized.\n\n The ``text`` parameter is the text to show inside the button.\n\n The ``scope`` parameter is the permissions that the application will ask to facebook.\n By default those are only user data and email.\n\n The ``img_btn`` parameter specific custom url image button.\n\nAvailable Hooks\n----------------------\n\nFBAuth exposes some hooks to alter its behavior, \nthe hooks that can be used with TurboGears2 *register_hook* are:\n\n* **fbauth.on_registration(facebook_data, user)** -> Runs when it is registering a new user from facebook login, permits to add additional data to the user.\n* **fbauth.on_login(facebook_data, user)** -> Runs when it is logging in from facebook, permits to update/add additional data to the user.\n\nFBAuth Utilities\n------------------\n\nFBAuth provides a bunch of utility methods that make easy to work with facebook:\n\n* **fbauth.lib.has_fbtoken_expired(user)**\n Checks if the facebook token for the given users has expired or not, this can be\n useful when calling facebook API. The facebook token itself can be retrieved from\n ``user.fbauth.access_token``\n\nUTF8 and Mysql\n------------------\nMysql charset to use to be compliant with UTF8 is utf8mb4.\nIf you already have an installation with latin-1 or utf8 as collation and you\nwant to be compliant with the UTF8 standard you have to convert your database\nin order to use utf8mb4 as collation, and add ?charset=utf8mb4 to\nyour connection string.\nAnd you have to launch the migration included from version 0.3.4 with command::\n\n $ gearbox migrate-pluggable fbauth upgrade\n\nand to rollback::\n\n $ gearbox migrate-pluggable fbauth downgrade\n\nFor more info see https://github.com/TurboGears/tgext.pluggable#using-migrations\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/axant/tgapp-fbauth", "keywords": "turbogears2.application", "license": "", "maintainer": "", "maintainer_email": "", "name": "tgapp-fbauth", "package_url": "https://pypi.org/project/tgapp-fbauth/", "platform": "", "project_url": "https://pypi.org/project/tgapp-fbauth/", "project_urls": { "Homepage": "http://bitbucket.org/axant/tgapp-fbauth" }, "release_url": "https://pypi.org/project/tgapp-fbauth/0.3.4/", "requires_dist": null, "requires_python": "", "summary": "Facebook Authentication for TurboGears2", "version": "0.3.4" }, "last_serial": 5819381, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cce664346761e0ec99fa4fb69646e4b4", "sha256": "ef484c18e4332856a56cc4c1594b13415419ebf7f28f50c8535eac3a786ce3d5" }, "downloads": -1, "filename": "tgapp-fbauth-0.0.1.tar.gz", "has_sig": false, "md5_digest": "cce664346761e0ec99fa4fb69646e4b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6543, "upload_time": "2012-06-27T13:24:45", "url": "https://files.pythonhosted.org/packages/ae/da/2a10b107f8eb2c067224b23062c326f1921eea30e32f9a09c6c93eae40cd/tgapp-fbauth-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "cbd5b5499f589a0392ea37c20dba229c", "sha256": "ee9c455b07aca2d049b853a68f95a8f07c316b293b087dd4cc6527afd6cbc791" }, "downloads": -1, "filename": "tgapp-fbauth-0.0.2.tar.gz", "has_sig": false, "md5_digest": "cbd5b5499f589a0392ea37c20dba229c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6933, "upload_time": "2013-05-22T16:15:08", "url": "https://files.pythonhosted.org/packages/1e/1b/d2a3be977679448c65ccbc5a6bc61b640d134b8a79b106c4bf7827fab4f9/tgapp-fbauth-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a42fb3c86fd0753c3ea032ebc69d4a12", "sha256": "d6aff66ecec555d6ddd04a4a24772608db37c72f1fe517497a55fa67edf9f833" }, "downloads": -1, "filename": "tgapp-fbauth-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a42fb3c86fd0753c3ea032ebc69d4a12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6891, "upload_time": "2013-05-28T13:20:15", "url": "https://files.pythonhosted.org/packages/49/e7/e81c1f9801433960a00482031ce9270be5208ff3d2817df5d781ca1e9aad/tgapp-fbauth-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d0e171f1800462507c22462d9b0ea29c", "sha256": "651a35996b42a720b68a86b69c351da0e17da4d4808dbed0f61773a742cb193a" }, "downloads": -1, "filename": "tgapp-fbauth-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d0e171f1800462507c22462d9b0ea29c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6920, "upload_time": "2015-04-07T17:32:33", "url": "https://files.pythonhosted.org/packages/27/f4/eb7a033dafd41712e7f3e0dcc469357ea291464d96e120525f992da62aed/tgapp-fbauth-0.0.4.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7606f6ff9858d1bc670cf67b0b9a39f6", "sha256": "0ec51b01de7aba4781025be1d06a81b53b1af071ab2fb7d5644e4a680c64a6c5" }, "downloads": -1, "filename": "tgapp-fbauth-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7606f6ff9858d1bc670cf67b0b9a39f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7596, "upload_time": "2015-06-10T12:46:31", "url": "https://files.pythonhosted.org/packages/67/ee/cd54390a1856df5f0aa83e7ab3145f762df393c405bac7467b0d63a6a77c/tgapp-fbauth-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "366d88c8858a3b0ff5711fc0c4a98861", "sha256": "ee47459e2e8f710ed0c61272cacf1133cc22c130016c60bf5d0ffd8ed972c763" }, "downloads": -1, "filename": "tgapp-fbauth-0.1.1.tar.gz", "has_sig": false, "md5_digest": "366d88c8858a3b0ff5711fc0c4a98861", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7671, "upload_time": "2015-09-24T07:43:22", "url": "https://files.pythonhosted.org/packages/85/0c/faa073c86cc5418fbb154a7bacec6fd3c38ac7c97c0676ca9d9b8c5b86ca/tgapp-fbauth-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "75b15770638cc8f4c057cc5f9f958f86", "sha256": "6e6cb3686a10ea2408e17c6c4db98e2758d33eb5e0e75bf5f6fcda3331ddfd26" }, "downloads": -1, "filename": "tgapp-fbauth-0.2.0.tar.gz", "has_sig": false, "md5_digest": "75b15770638cc8f4c057cc5f9f958f86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8380, "upload_time": "2015-11-06T15:00:44", "url": "https://files.pythonhosted.org/packages/ea/be/9c3fda64df5d772c043003db89a1dee165f983fa90673783d79f67b72a24/tgapp-fbauth-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7f92c7995e8f5cba72b6e9b5ec507253", "sha256": "6209838545da5ac91fecb3657a18eb0b9edaa578dec730190d08d1fee76bd9d8" }, "downloads": -1, "filename": "tgapp-fbauth-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7f92c7995e8f5cba72b6e9b5ec507253", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8319, "upload_time": "2017-07-26T14:18:16", "url": "https://files.pythonhosted.org/packages/5c/35/d8bc687033274b352146a12a58e471992996c2e2573b639c92c2c19e81ef/tgapp-fbauth-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a80fdcde721173f24ee5f9e56e8a1846", "sha256": "b0df8eccd8a3affbc4b0a04471be813e377f13122961c4df0d00c63caf8818dd" }, "downloads": -1, "filename": "tgapp-fbauth-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a80fdcde721173f24ee5f9e56e8a1846", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8385, "upload_time": "2017-12-15T15:29:33", "url": "https://files.pythonhosted.org/packages/2d/c4/bc4792418fbade70a70016f2fd1d073aadd00f6058af81c762ecc405a24b/tgapp-fbauth-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d83460115c705d1ffbd8c01be728566f", "sha256": "03a8f2fad3e55da08a9b6c97b35d183af1b2f01b8bf0f852ffb39dcb50d75cf0" }, "downloads": -1, "filename": "tgapp-fbauth-0.3.2.tar.gz", "has_sig": false, "md5_digest": "d83460115c705d1ffbd8c01be728566f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8418, "upload_time": "2018-03-07T12:31:22", "url": "https://files.pythonhosted.org/packages/0d/f8/b044be4f059fc84db2f5cc7bd596356d41086ffcbf8bfe996b75b6026051/tgapp-fbauth-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "343c20f6dc9437b7c35a5102509f8483", "sha256": "57f2a7c3b7b12530af44879f88df068f3e693b639471a1a98d303ac843126a4b" }, "downloads": -1, "filename": "tgapp-fbauth-0.3.3.tar.gz", "has_sig": false, "md5_digest": "343c20f6dc9437b7c35a5102509f8483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10200, "upload_time": "2018-11-14T13:58:17", "url": "https://files.pythonhosted.org/packages/ed/31/ab540132c7b155c075a169ca45e19fa2756e4faae6b694a2563e42e5b529/tgapp-fbauth-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "3aa581ca7511a8cf7f9f49a641a3719b", "sha256": "6b6f6964740464e2b5cf431ab8c51d2596793121220082d5f837b50b1b72a2fa" }, "downloads": -1, "filename": "tgapp-fbauth-0.3.4.tar.gz", "has_sig": false, "md5_digest": "3aa581ca7511a8cf7f9f49a641a3719b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9506, "upload_time": "2019-09-12T09:41:47", "url": "https://files.pythonhosted.org/packages/1a/8b/7a50697d93759e200175a162038425aa4855f39e509dea69943ff16fe5ac/tgapp-fbauth-0.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3aa581ca7511a8cf7f9f49a641a3719b", "sha256": "6b6f6964740464e2b5cf431ab8c51d2596793121220082d5f837b50b1b72a2fa" }, "downloads": -1, "filename": "tgapp-fbauth-0.3.4.tar.gz", "has_sig": false, "md5_digest": "3aa581ca7511a8cf7f9f49a641a3719b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9506, "upload_time": "2019-09-12T09:41:47", "url": "https://files.pythonhosted.org/packages/1a/8b/7a50697d93759e200175a162038425aa4855f39e509dea69943ff16fe5ac/tgapp-fbauth-0.3.4.tar.gz" } ] }