Globus Auth =========== .. currentmodule:: globus_sdk There are several types of client object for communicating with the Globus Auth service. A client object may represent your application (as the driver of authentication and authorization flows), in which case the :class:`NativeAppAuthClient` or :class:`ConfidentialAppAuthClient` classes should generally be used. Client Classes -------------- .. autoclass:: AuthClient :members: :member-order: bysource :show-inheritance: .. autoclass:: AuthLoginClient :members: :member-order: bysource :show-inheritance: .. autoclass:: NativeAppAuthClient :members: :member-order: bysource :show-inheritance: :exclude-members: error_class .. autoclass:: ConfidentialAppAuthClient :members: :member-order: bysource :show-inheritance: :exclude-members: error_class Helper Objects -------------- The :class:`IdentityMap` is a specialized object which aids in the particular use-case in which the Globus Auth :meth:`AuthClient.get_identities` API is being used to resolve large numbers of usernames or IDs. It combines caching, request batching, and other functionality. .. We set special-members so that __getitem__ and __delitem__ are included. But then we need to exclude specific members because we don't want people reading about __weakref__ in our docs. .. autoclass:: IdentityMap :members: :special-members: :exclude-members: __dict__,__weakref__ :show-inheritance: .. autoclass:: DependentScopeSpec Auth Responses -------------- .. autoclass:: OAuthTokenResponse :members: :show-inheritance: .. autoclass:: OAuthDependentTokenResponse :members: :show-inheritance: .. autoclass:: GetIdentitiesResponse :members: :show-inheritance: OAuth2 Flow Managers -------------------- These objects represent in-progress OAuth2 authentication flows. Most typically, you should not use these objects directly, but rather rely on the :class:`NativeAppAuthClient` or :class:`ConfidentialAppAuthClient` objects to manage these for you through their ``oauth2_*`` methods. All Flow Managers inherit from the :class:`GlobusOAuthFlowManager \ <.GlobusOAuthFlowManager>` abstract class. They are a combination of a store for OAuth2 parameters specific to the authentication method you are using and methods which act upon those parameters. .. autoclass:: globus_sdk.services.auth.GlobusNativeAppFlowManager :members: :show-inheritance: .. autoclass:: globus_sdk.services.auth.GlobusAuthorizationCodeFlowManager :members: :show-inheritance: Abstract Flow Manager ~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: globus_sdk.services.auth.flow_managers.GlobusOAuthFlowManager :members: :show-inheritance: