-
-
Notifications
You must be signed in to change notification settings - Fork 3
Enh/unified auth #185
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
Enh/unified auth #185
Conversation
✅ Deploy Preview for datalayer-core ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
2bd420f to
54b7b64
Compare
bfeb3e3 to
6f604a6
Compare
6f604a6 to
d0f8548
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements a unified authentication system for the Datalayer platform, providing consistent authentication flows across TypeScript (browser/Node.js) and Python SDKs. The enhancement addresses issue #42 by introducing an AuthenticationManager class with multiple authentication strategies (token, credentials, storage, and OAuth).
Key Changes
- Unified Authentication Architecture: Introduces
AuthenticationManagerclasses in both TypeScript (src/client/auth/) and Python (datalayer_core/sdk/auth/) with strategy pattern for token, credentials, storage-based, and browser OAuth authentication - New Login Components: Adds
LoginandLoginTokenReact components with form validation, OAuth integration, and token input support - CLI Refactoring: Updates authentication commands (
login,logout,whoami) to use the new SDK authentication manager instead of direct API calls - Dependency Updates: Adds authentication-related dependencies including
keytarfor secure token storage, new JupyterLab packages, and additional UI libraries
Reviewed changes
Copilot reviewed 38 out of 39 changed files in this pull request and generated 35 comments.
Show a summary per file
| File | Description |
|---|---|
| src/client/auth/*.ts | New TypeScript authentication module with manager, strategies, storage backends, and types |
| src/components/auth/*.tsx | New Login and LoginToken React components with form validation and OAuth support |
| datalayer_core/sdk/auth/*.py | New Python authentication module mirroring TypeScript implementation |
| datalayer_core/cli/commands/authn.py | Refactored CLI commands to use SDK authentication manager |
| package.json | Added authentication dependencies (keytar, JupyterLab packages) |
| src/tools/adapters/agui/*.tsx | Temporary placeholders for jupyter-react exports until available |
| pyproject.toml | Added mypy overrides for tornado and chat handlers |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
23e89f5 to
c1a23ed
Compare
b0e8050 to
65589fa
Compare
echarles
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM Thx @goanpeca
Fixes datalayer/vscode-datalayer#42