├── tests ├── __init__.py ├── oauth1 │ ├── __init__.py │ ├── templates │ │ ├── home.html │ │ ├── confirm.html │ │ └── layout.html │ ├── client.py │ ├── test_oauth1.py │ └── server.py ├── oauth2 │ ├── __init__.py │ ├── templates │ │ ├── home.html │ │ ├── confirm.html │ │ └── layout.html │ ├── client.py │ ├── server.py │ └── test_oauth2.py ├── test_contrib │ ├── __init__.py │ └── test_apps.py ├── test_oauth2 │ ├── __init__.py │ ├── test_client_credential.py │ ├── test_implicit.py │ ├── test_refresh.py │ ├── test_password.py │ ├── test_code.py │ └── base.py ├── test_utils.py ├── _base.py └── test_client.py ├── docs ├── changelog.rst ├── contrib.rst ├── _static │ └── flask-oauthlib.png ├── authors.rst ├── _templates │ ├── brand.html │ └── sidebarintro.html ├── install.rst ├── api.rst ├── intro.rst ├── index.rst ├── additional.rst ├── Makefile └── conf.py ├── example ├── contrib │ └── experiment-client │ │ ├── .gitignore │ │ ├── twitter.py │ │ └── douban.py ├── static │ ├── openid.png │ ├── sign-in.png │ └── style.css ├── templates │ ├── layout.html │ └── index.html ├── dropbox.py ├── github.py ├── douban.py ├── facebook.py ├── google.py ├── linkedin.py ├── weibo.py ├── twitter.py ├── reddit.py └── qq.py ├── .coveragerc ├── MANIFEST.in ├── .gitmodules ├── requirements.txt ├── tox.ini ├── flask_oauthlib ├── contrib │ ├── client │ │ ├── signals.py │ │ ├── exceptions.py │ │ ├── structure.py │ │ ├── descriptor.py │ │ ├── __init__.py │ │ └── application.py │ ├── __init__.py │ ├── cache.py │ ├── apps.py │ └── oauth2.py ├── provider │ └── __init__.py ├── __init__.py └── utils.py ├── .gitignore ├── AUTHORS ├── .travis.yml ├── Makefile ├── LICENSE ├── setup.py ├── CONTRIBUTING.rst ├── README.rst └── CHANGES.rst /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/oauth1/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/oauth2/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_contrib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_oauth2/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/changelog.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../CHANGES.rst 2 | -------------------------------------------------------------------------------- /example/contrib/experiment-client/.gitignore: -------------------------------------------------------------------------------- 1 | dev.cfg 2 | -------------------------------------------------------------------------------- /.coveragerc: -------------------------------------------------------------------------------- 1 | [report] 2 | omit = flask_oauthlib/contrib/client/* 3 | -------------------------------------------------------------------------------- /tests/oauth1/templates/home.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | -------------------------------------------------------------------------------- /tests/oauth2/templates/home.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.rst 2 | include CHANGES.rst 3 | include LICENSE 4 | -------------------------------------------------------------------------------- /docs/contrib.rst: -------------------------------------------------------------------------------- 1 | .. _contributing: 2 | 3 | .. include:: ../CONTRIBUTING.rst 4 | -------------------------------------------------------------------------------- /example/static/openid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/flask-oauthlib/master/example/static/openid.png -------------------------------------------------------------------------------- /example/static/sign-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/flask-oauthlib/master/example/static/sign-in.png -------------------------------------------------------------------------------- /docs/_static/flask-oauthlib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/flask-oauthlib/master/docs/_static/flask-oauthlib.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "docs/_themes"] 2 | path = docs/_themes 3 | url = git://github.com/lepture/flask-sphinx-themes.git 4 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Flask==0.10.1 2 | mock==1.3.0 3 | oauthlib==0.7.2 4 | requests-oauthlib==0.5.0 5 | Flask-SQLAlchemy==2.0 6 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py26,py27,py33,py34,pypy 3 | 4 | [testenv] 5 | deps = 6 | nose 7 | -rrequirements.txt 8 | commands = nosetests -s 9 | -------------------------------------------------------------------------------- /flask_oauthlib/contrib/client/signals.py: -------------------------------------------------------------------------------- 1 | from flask.signals import Namespace 2 | 3 | __all__ = ['request_token_fetched'] 4 | 5 | _signals = Namespace() 6 | request_token_fetched = _signals.signal('request-token-fetched') 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.pyo 3 | *.egg-info 4 | *.swp 5 | __pycache__ 6 | build 7 | develop-eggs 8 | dist 9 | eggs 10 | parts 11 | .DS_Store 12 | .installed.cfg 13 | docs/_build 14 | cover/ 15 | venv/ 16 | .tox 17 | *.egg 18 | -------------------------------------------------------------------------------- /flask_oauthlib/contrib/client/exceptions.py: -------------------------------------------------------------------------------- 1 | __all__ = ['OAuthException', 'AccessTokenNotFound'] 2 | 3 | 4 | class OAuthException(Exception): 5 | pass 6 | 7 | 8 | class AccessTokenNotFound(OAuthException): 9 | pass 10 | -------------------------------------------------------------------------------- /flask_oauthlib/contrib/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | """ 3 | flask_oauthlib.contrib 4 | ~~~~~~~~~~~~~~~~~~~~~~ 5 | 6 | Contributions for Flask OAuthlib. 7 | 8 | :copyright: (c) 2013 - 2014 by Hsiaoming Yang. 9 | """ 10 | -------------------------------------------------------------------------------- /tests/oauth1/templates/confirm.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block body %} 4 |
Flask-OAuthlib is a replacement for Flask-OAuth. It depends on the oauthlib module.
4 | 5 | {%- block footerinner %} 6 | 7 |
8 |
9 | {%- endblock %}
10 |
--------------------------------------------------------------------------------
/docs/_templates/sidebarintro.html:
--------------------------------------------------------------------------------
1 | Feedback is greatly appreciated. If you have any questions, comments, random praise, or anymous threats, shoot me an email.
3 | 4 |