Skip to content
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

Integrate with Neon Users Service #33

Draft
wants to merge 25 commits into
base: dev
Choose a base branch
from

Conversation

NeonDaniel
Copy link
Member

@NeonDaniel NeonDaniel commented Oct 30, 2024

Description

Update client_manager to use mq_connector for authentication via neon-users-service
Update tokens to include more data, maintaining backwards-compat and adding TokenConfig compat.
Update tokens for Klat token compat
Update permissions handling to respect user configuration values
Update auth request to include token_name for User database integration
Add UserProfile.from_user_config for database compat. Update MQ connector to integrate with users service

Issues

Other Notes

This includes breaking changes to JWT handling. Existing tokens do not follow RFC7519; these changes update token contents to use Registered and Public Claim names where available.

This includes a change to permissions handling by using roles defined in neon-data-models. The affected code has not been included in a stable release and behavior is unchanged when interacting with the HTTP endpoints.

…`neon-users-service`

Update tokens to include more data, maintaining backwards-compat and adding `TokenConfig` compat.
Update tokens for Klat token compat
Update permissions handling to respect user configuration values
Update auth request to include token_name for User database integration
Add UserProfile.from_user_config for database compat.
Update MQ connector to integrate with users service
Update TokenConfig for compat.
Remove `password` from tokens and allow users service auth via token
Add RegistrationRequest model with example
Update MQ API calls to pass `username` and `password` to resolve validation errors
Add helper method for `update` requests to allow for changing the current auth method (password or token)
Deprecate `ClientPermissions` which duplicates role-based permissions spec in neon-data-models
Refactor token handling to use JWT model and updated configuration spec
Fix error in token generation logic
Update exception handling for proper JWTs
Add `__getitem__` to `AuthenticationResponse` for backwards-compat.
…sable_auth` config

Use `disable_auth` config to skip MQ Users service connection
Deprecate `node_v1` schema that is moved to `neon-data-models`
Update imports to use `neon_data_models`
Mark old imports in `schema` as deprecated
Better document usage, including token management
…f also requiring the (potentially expired) auth token
…le config

Refactor rate limiting to consolidate code
Refactor rate limit buckets to be semantically consistent
…names

Remove `handle_update_user_request` and use `update_user` directly to consolidate logic
Add method to read `user_id` from a token for user update endpoint support
Add support for admin authentication to `update_user` endpoint
Refactor internal `_query_users_api` method to accept CRUD request objects
Update dependencies to stable spec
Update dockerfile to resolve warnings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant