Skip to content

Commit

Permalink
Begun documenting faq and features. Fix #119 and #117.
Browse files Browse the repository at this point in the history
  • Loading branch information
ib-lundgren committed May 30, 2013
1 parent 6f1f4b6 commit 99681d2
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 0 deletions.
40 changes: 40 additions & 0 deletions docs/faq.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
F.A.Q
=====

What parts of OAuth 1 & 2 is supported?
See :doc:`feature_matrix`.

What is the difference between a client and a consumer?
None, they both refer to the third-party accessing protected resources
from an OAuth provider on behalf of a user. In order to do so they have
to obtain authorization from said user, which is what the `Auth` in `OAuth`
stands for.

How do I use OAuthLib with Google, Twitter and other providers?
Most people will be using OAuthLib indirectly. Clients will want to look at
`requests-oauthlib`_.

How do I use OAuthlib as a provider with Django, Flask and other web frameworks?
Providers using Django should seek out `django-oauth-toolkit`_
and those using Flask `flask-oauthlib`_. For other frameworks,
please get in touch by opening a `GitHub issue`_, on `G+`_ or
on IRC #oauthlib irc.freenode.net.

What is the difference between authentication and authorization?
See `difference`_.

Very briefly, what is the biggest difference between OAuth 1 and 2?
OAuth 2 is much simpler since it requires the use of TLS whereas OAuth 1
had the requirement to work securely without TLS. To be secure without TLS
OAuth 1 required each request to be signed which can be cumbersome.

Some argue OAuth 2 is worse than 1, is that true?
Correctly implemented, OAuth 2 is better in many ways than OAuth 1. Getting
it right is not trivial and a task OAuthLib aims to help make simple.

.. _`requests-oauthlib`: https://github.com/requests/requests-oauthlib
.. _`django-oauth-toolkit`: https://github.com/evonove/django-oauth-toolkit
.. _`flask-oauthlib`: https://github.com/lepture/flask-oauthlib
.. _`GitHub issue`: https://github.com/idan/oauthlib/issues/new
.. _`G+`: https://plus.google.com/communities/101889017375384052571
.. _`difference`: http://www.cyberciti.biz/faq/authentication-vs-authorization/
21 changes: 21 additions & 0 deletions docs/feature_matrix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Supported features
==================

OAuth 1 is fully supported per the RFC for both clients and providers.
Extensions and variations that are outside the spec are not supported.

- HMAC-SHA1, RSA-SHA1 and plaintext signatures.
- Signature placement in header, url or body.

OAuth 2 client and provider support for

- Authorization Code Grant
- Implicit Grant
- Client Credentials Grant
- Resource Owner Password Credentials Grant
- Refresh Tokens
- Bearer Tokens
- draft MAC tokens

with support for SAML2 and JWT tokens, token revocation, dynamic client
registration and much more to come.
2 changes: 2 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ For news and discussions please check out our `G+ OAuthLib community`_.
:maxdepth: 2

contributing
faq
feature_matrix

.. toctree::
:maxdepth: 2
Expand Down

0 comments on commit 99681d2

Please sign in to comment.