{ "info": { "author": "Elliot Peele", "author_email": "elliot@bentlogic.net", "bugtrack_url": null, "classifiers": [ "Framework :: Pyramid", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "pyramid_oauth2_provider README\n==================\n\nGetting Started\n---------------\n\nIn an existing pyramid project you can take advantage of pyramid_oauth2_provider\nby doing the following:\n\n* Add `config.include('pyramid_oauth2_provider')` to your project setup. This\n will configure a `/oauth2/token` route for the token endpoint and an\n authentication policy that will support oauth2. If you want to be able to use \n both cookie auth and oauth2 at the same time, you should use the\n `pyramid_oauth2_provider.authentication.OauthTktAuthenticationPolicy` instead\n of the default.\n* Define a implementation of the `pyramid_oauth2_provider.interfaces.IAuthCheck`\n interface that works against your current user authentication check mechanism.\n* In your paster configuration configure which IAuthCheck implementation to use\n by specifying `oauth2_provider.auth_checker`.\n* In your development configuration, you may also want to disable ssl\n enforcement by specifying `oauth2_provider.require_ssl = false`.\n* Generate client credentials using the `create_client_credentials` script,\n provided as part of `pyramid_oauth2_provider`.\n\nRequest Flow\n------------\nLet's start by laying out a few ground rules when it comes to oauth2:\n\n1. All requests *must* be made via HTTPS.\n2. All data is transferred in headers and the body of messages rather than\n through url parameters.\n\nThe token endpoint is provided as a way to obtain and renew `access_tokens`.\n\n#### Example initial token request:\n\n POST /oauth2/token HTTP/1.1\n Host: server.example.com\n Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW\n Content-Type: application/x-www-form-urlencoded\n\n grant_type=password&username=johndoe&password=A3ddj3w\n\n* The basic auth header is the `client_id:client_secret` base64 encoded.\n* Content-Type must be application/x-www-form-urlencoded\n\n#### Example refresh token request:\n\n POST /token HTTP/1.1\n Host: server.example.com\n Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW\n Content-Type: application/x-www-form-urlencoded\n\n grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKW&user_id=1234\n\n* The basic auth header is the `client_id:client_secret` base64 encoded.\n* Content-Type must be application/x-www-form-urlencoded\n* The `grant_type` must be \"refresh\".\n* All form elements are required.\n\n#### Example token response:\n\n HTTP/1.1 200 OK\n Content-Type: application/json;charset=UTF-8\n Cache-Control: no-store\n Pragma: no-cache\n\n {\n \"access_token\":\"2YotnFZFEjr1zCsicMWpAA\",\n \"token_type\":\"bearer\",\n \"expires_in\":3600,\n \"refresh_token\":\"tGzv3JOkF0XG5Qx2TlKW\",\n \"user_id\":1234,\n }\n\n* The same response is returned for both auth token and refresh token requests.\n* The `token_type` will always be \"bearer\".\n* For purposes of this example the `access_token` and `refresh_token` are\n shorter than normal.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/elliotpeele/pyramid_oauth2_provider", "keywords": "web wsgi bfg pylons pyramid oauth2", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "pyramid_oauth2_provider", "package_url": "https://pypi.org/project/pyramid_oauth2_provider/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyramid_oauth2_provider/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/elliotpeele/pyramid_oauth2_provider" }, "release_url": "https://pypi.org/project/pyramid_oauth2_provider/0.2/", "requires_dist": null, "requires_python": null, "summary": "Oauth2 endpoint for pyramid applications", "version": "0.2" }, "last_serial": 1061718, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "54ef90b2bc1147543e0a7d0c9151bdcb", "sha256": "4df2298e65bedcd87655294be2d94811181c35b611d02f6818c392a2a12669d5" }, "downloads": -1, "filename": "pyramid_oauth2_provider-0.1-py2.6.egg", "has_sig": false, "md5_digest": "54ef90b2bc1147543e0a7d0c9151bdcb", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 34248, "upload_time": "2013-01-06T00:03:50", "url": "https://files.pythonhosted.org/packages/62/28/65c912724dd30b03310eda3eea1f401198235ef159461508668288d7e3bd/pyramid_oauth2_provider-0.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "039ac843e466c3e6349463d1b1a7fe0b", "sha256": "0595274f8455a9288fde87f3907448b391184a83b5a0f6dfd31833c5e2c7f8c9" }, "downloads": -1, "filename": "pyramid_oauth2_provider-0.1.tar.gz", "has_sig": false, "md5_digest": "039ac843e466c3e6349463d1b1a7fe0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14010, "upload_time": "2014-04-14T23:54:04", "url": "https://files.pythonhosted.org/packages/ec/26/5d56e24fc2f14a9b03fe1874c026c9072a1be83d6c15e8c91d44ef565222/pyramid_oauth2_provider-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "e79bb66ff405a65ebce49438448a4b6e", "sha256": "9e6207c1fa9526b52ad4db04a97a7c1e8ccf9ac41af7b76f86aac9645fda74b8" }, "downloads": -1, "filename": "pyramid_oauth2_provider-0.2-py2.7.egg", "has_sig": false, "md5_digest": "e79bb66ff405a65ebce49438448a4b6e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 42615, "upload_time": "2014-04-15T23:57:24", "url": "https://files.pythonhosted.org/packages/b3/7d/bd8b0bbd66577d97b318d5986be0f21fa4f553a17fe7cb001884ed2a1d24/pyramid_oauth2_provider-0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "092a0ca80d7f8c99836f0e610da4c946", "sha256": "943b6964a9a5401976b3bb630ab87f3a4ac427c11be237ad954b3ed2174b41a3" }, "downloads": -1, "filename": "pyramid_oauth2_provider-0.2.tar.gz", "has_sig": false, "md5_digest": "092a0ca80d7f8c99836f0e610da4c946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14207, "upload_time": "2014-04-15T23:57:17", "url": "https://files.pythonhosted.org/packages/1f/18/44c01b3892a4baebbdb08c18553d3a314747f94820fe345ea42b35b9426a/pyramid_oauth2_provider-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e79bb66ff405a65ebce49438448a4b6e", "sha256": "9e6207c1fa9526b52ad4db04a97a7c1e8ccf9ac41af7b76f86aac9645fda74b8" }, "downloads": -1, "filename": "pyramid_oauth2_provider-0.2-py2.7.egg", "has_sig": false, "md5_digest": "e79bb66ff405a65ebce49438448a4b6e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 42615, "upload_time": "2014-04-15T23:57:24", "url": "https://files.pythonhosted.org/packages/b3/7d/bd8b0bbd66577d97b318d5986be0f21fa4f553a17fe7cb001884ed2a1d24/pyramid_oauth2_provider-0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "092a0ca80d7f8c99836f0e610da4c946", "sha256": "943b6964a9a5401976b3bb630ab87f3a4ac427c11be237ad954b3ed2174b41a3" }, "downloads": -1, "filename": "pyramid_oauth2_provider-0.2.tar.gz", "has_sig": false, "md5_digest": "092a0ca80d7f8c99836f0e610da4c946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14207, "upload_time": "2014-04-15T23:57:17", "url": "https://files.pythonhosted.org/packages/1f/18/44c01b3892a4baebbdb08c18553d3a314747f94820fe345ea42b35b9426a/pyramid_oauth2_provider-0.2.tar.gz" } ] }