Skip to content

Conversation

@gpauloski
Copy link
Collaborator

Description

This replaces the custom GlobusAuthManager classes with functions for creating GlobusApp instances. This reduces a lot of boilerplate code around performing login flows, saving tokens, etc., and will better extending scopes as needed and rerunning login flows.

This is a breaking change to the proxystore.globus APIs but those interfaces are designed for internal use so there won't be breaking changes to regular applications. (I'm assuming no one is using ProxyStore's Globus Auth tooling to develop their own applications.) This should also be backwards compatible with existing user tokens.

The miniumum globus-sdk version is now >=3.46.0.

This is a breaking change to the APIs in proxystore.globus, though anyone using the typical ProxyStore APIs will not be affected.

Fixes

Type of Change

  • Breaking Change (fix or enhancement which changes existing semantics of the public interface)
  • Enhancement (new features or improvements to existing functionality)
  • Bug (fixes for a bug or issue)
  • Internal (refactoring, style changes, testing, optimizations)
  • Documentation update (changes to documentation or examples)
  • Package (dependencies, versions, package metadata)
  • Development (CI workflows, pre-commit, linters, templates)
  • Security (security related changes)

Testing

Added new tests, and tried login flow CLI + endpoint auth.

Pull Request Checklist

Please confirm the PR meets the following requirements.

  • Tags added to PR (e.g., breaking, bug, enhancement, internal, documentation, package, development, security).
  • Code changes pass pre-commit (e.g., mypy, ruff, etc.).
  • Tests have been added to show the fix is effective or that the new feature works.
  • New and existing unit tests pass locally with the changes.
  • Docs have been updated and reviewed if relevant.

@gpauloski gpauloski added internal Refactoring, style changes, testing, or code optimizations breaking Backwards incompatible change to public interfaces labels Nov 14, 2024
This replaces the custom GlobusAuthManager classes with functions for
creating GlobusApp instances. This reduces a lot of boilerplate code
around performing login flows, saving tokens, etc., and will better
extending scopes as needed and rerunning login flows.

This is a breaking change to the `proxystore.globus` APIs but those
interfaces are designed for internal use so there won't be breaking
changes to regular applications. (I'm assuming no one is using
ProxyStore's Globus Auth tooling to develop their own applications.)
This should also be backwards compatible with existing user tokens.

The miniumum globus-sdk version is now >=3.46.0.
@gpauloski gpauloski merged commit 5d37729 into main Nov 14, 2024
@gpauloski gpauloski deleted the globus-app branch November 14, 2024 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Backwards incompatible change to public interfaces internal Refactoring, style changes, testing, or code optimizations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate from custom GlobusAuthManager to the Globus SDK's GlobusApp

2 participants