Fair Research Login simplifies the Globus Auth Flow to facilitate application development by providing automatic token management and streamlining the native app grant process. This is useful for writing re-usable scripts and can be used as the foundation for new applications without investing significant resources in authentication code.
For full documentation, see the Read the Docs here.
The Globus SDK now natively supports equivalent login functionality! See the document here. This newer approach includes a fully customizable pipeline and also supports Client Apps. And functionality is directly integrated into service clients.
New code should use these features instead of Fair Research Login. Existing projects should migrate.
Install with pip:
pip install fair-research-loginYou'll need a Client ID from Globus. Follow these instructions from the Globus Auth Developer Guide. Be sure to check the Native App box in the registration form. Note the Client ID assigned by Globus. You'll need it in your code, as shown in the example below.
Usage looks like this:
from globus_sdk import AuthClient
from fair_research_login.client import NativeClient
# Login
cli = NativeClient(client_id='7414f0b4-7d05-4bb6-bb00-076fa3f17cf5', app_name='My App')
cli.login(requested_scopes=['openid', 'email', 'profile'], refresh_tokens=True)
# Use your tokens
auth_client = AuthClient(authorizer=cli.get_authorizers()['auth.globus.org'])
print(auth_client.oauth2_userinfo())For any questions or issues using Fair Research Login, please send an email to support@globus.org with "Fair Research Login" in the message header.