-
Notifications
You must be signed in to change notification settings - Fork 3
Handle various auth credentials, remove dashboard
and network
packages
#39
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
base: main
Are you sure you want to change the base?
Conversation
…y in target command and elsewhere with admin API. implement logic for caching ManagedKeys per-project in Viper, and properly creating keys for projects as needed when instantiating the go SDK for control and data plane operations, implement TokenManager and rename the oauth2 package to auth in utils, refactor some of the cruft around building clients and credentials
Claude finished @austin-denoble's task —— View job PR Review CompleteI've conducted a comprehensive review of this PR which refactors the authentication system and removes the dashboard/network packages. Here are my findings: Review Tasks:
🔍 Overall AssessmentThis is a substantial and well-executed refactor that modernizes the authentication system. The new approach using the official Admin API instead of internal dashboard APIs is a significant improvement for maintainability and stability. ✅ StrengthsArchitecture & Design:
Security Best Practices:
Error Handling:
|
…cy for manual randomization for api key suffixes
Claude finished @austin-denoble's task —— View job PR Review CompleteI've conducted a comprehensive review of this PR which refactors the authentication system and removes the dashboard/network packages. Here are my findings: Review Tasks:
🔍 Overall AssessmentThis is a substantial and well-executed refactor that modernizes the authentication system. The new approach using the official Admin API instead of internal dashboard APIs is a significant improvement for maintainability and stability. ✅ StrengthsArchitecture & Design:
Security Best Practices:
Error Handling:
|
…, allowing us to pass orgId to keep the targeted org sticky
Claude finished @austin-denoble's task —— View job PR Review CompleteI've conducted a comprehensive review of this PR which refactors the authentication system and removes the dashboard/network packages. Here are my findings: Review Tasks:
🔍 Overall AssessmentThis is a substantial and well-executed refactor that modernizes the authentication system. The new approach using the official Admin API instead of internal dashboard APIs is a significant improvement for maintainability and stability. ✅ StrengthsArchitecture & Design:
Security Best Practices:
Error Handling:
|
Problem
Previously, the CLI relied on the non-public dashboard APIs in order to work with organizations, projects, and API keys. These implementations were handled manually through the
network
anddashboard
packages. In a previous PR, the code for working with admin resources were mostly replaced when implementing commands forproject
,organization
, andapi-key
. However, we were still using dashboard APIs for thelogin
andtarget
flows.Additionally, because of how our systems currently work with authentication, the CLI needs additional business logic for working with the control and data plane APIs when the user has authenticated via a user token (
login
) or a service account (pc auth configure --client-id --client-secret
). Because there are limitations on where these tokens can be used across APIs surfaces, the CLI needs mechanisms for creating its own API keys, and allowing users to "store" keys for specific projects.If you're curious or have any feedback, I've captured notes and thoughts here while working on an approach that will work for the CLI with our current authentication structure.
Solution
Type of Change
Test Plan
TODO