Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation around oauth2client deprecation #165

Merged
merged 2 commits into from
Jun 7, 2017

Conversation

theacodes
Copy link
Contributor

No description provided.

@theacodes theacodes requested a review from dhermes June 7, 2017 02:49
@theacodes
Copy link
Contributor Author

CI failure is because of lint, unrelated. I'll send another PR to fix that.

Copy link
Contributor

@dhermes dhermes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very good, teeny nits

@@ -22,6 +22,8 @@ also provides integration with several HTTP libraries.
:mod:`urllib3 <google.auth.transport.urllib3>`, and
:mod:`gRPC <google.auth.transport.grpc>`.

.. note:: ``oauth2client`` was recently deprecated in favor of this library. For more details on the deprecation, see :doc:`oauth2client-deprecation`.

This comment was marked as spam.

This comment was marked as spam.

@@ -0,0 +1,62 @@
:orphan:

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

Reasons for deprecation
-----------------------

#. Lack of ownership: ``oauth2client`` has lacked a definitive owner since around 2013.

This comment was marked as spam.

#. Clear ownership: google-auth is owned by the teams that maintain the `Cloud Client Libraries`_, `gRPC`_, and the `Code Samples for Google Cloud Platform`_.
#. Thought-out design: using the lessons learned from ``oauth2client``, we have designed a better module and class hierarchy. The ``v1.0.0`` release of this library should provide long-term API stability.
#. Modern, secure, and extensible transports: ``google-auth`` supports `urllib3`_, `requests`_, `gRPC`_, and has `legacy support for httplib2`_ to help clients migration. It is transport agnostic and has explicit support for adding new transports.
#. Clear purpose and goals: ``google-auth`` is explicitly focused on Google-specific authentication, especially the server-to-server use case.

This comment was marked as spam.

This comment was marked as spam.


The unsupported features are:

#. Support for obtaining user credentials. While this library has support for using user credentials, there are no provisions in the core library for doing the three-party OAuth 2.0 flow to obtain authorization from a user. Instead, we are opting to provide a separate package that does integration with `oauthlib`_, `google-auth-oauthlib`_. When that library has a stable API, we will consider its inclusion into the core library.

This comment was marked as spam.

This comment was marked as spam.

The unsupported features are:

#. Support for obtaining user credentials. While this library has support for using user credentials, there are no provisions in the core library for doing the three-party OAuth 2.0 flow to obtain authorization from a user. Instead, we are opting to provide a separate package that does integration with `oauthlib`_, `google-auth-oauthlib`_. When that library has a stable API, we will consider its inclusion into the core library.
#. Support for storing credentials. The only credentials type that needs to be stored are user credentials. We have a `discussion thread`_ on what level of support we should do. It’s very likely we’ll choose to provide an abstract interface for this and leave it up to application to provide storage implementation specific to their use case. It's also very likely that we will also incubate this functionality in the `google-auth-oauthlib`_ library before including it in the core library.

This comment was marked as spam.

This comment was marked as spam.

Post-deprecation support
------------------------

While ``oauth2client`` will not be implementing or accepting any new features, the ``google-auth`` team will continue to accept bug reports and fix critical bugs. We will make patch releases as necessary. We have no plans to remove the library from github or PyPI. Also, we have made sure that the `google-api-python-client`_ library supports oauth2client and google-auth and will continue to do so indefinitely.

This comment was marked as spam.

This comment was marked as spam.

@parity3
Copy link

parity3 commented Jun 7, 2017

Thanks a ton for providing the thought process here. It helps me plan for future integration of google APIs and place bets on how best to stay in the "well-maintained" code-path.

@theacodes theacodes merged commit cf93481 into master Jun 7, 2017
@theacodes theacodes deleted the oauth2client-dep-docs branch June 7, 2017 16:47
helen-fornazier pushed a commit to helen-fornazier/google-auth-library-python that referenced this pull request Apr 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants