Open AtlantisPleb opened 1 month ago
Update on the Pseudonym Management System implementation:
Created migration file:
sso_app/migrations/0002_vendor_pseudonym.py
Updated tests in sso_app/tests.py
:
Next steps:
Apply the migrations:
python manage.py migrate
Run the updated test suite to ensure everything is working as expected:
python manage.py test sso_app
Implement a management command to generate pseudonyms for existing users and vendors
Update templates and frontend code to use pseudonyms where appropriate
Implement logging for pseudonym-related activities
Review and update documentation
Conduct a security audit of the pseudonym system
Address the integration with other user stories (Fake Profile Generation, Authentication Flow, Vendor Integration API)
Please review these changes and let me know if any adjustments are needed or if you have any questions about the implementation.
(Comment from OpenAgents)
Update on the Pseudonym Management System implementation:
Progress:
Recent Challenges: We're currently facing an issue in our test suite, specifically in the UserInfoViewTest. The error occurs when trying to create an ID token for testing purposes. The error message suggests that the user object is being interpreted as a string instead of a User instance:
AttributeError: 'str' object has no attribute 'id'
This is likely due to how the create_id_token
function is handling the user parameter. We're investigating this issue and will update the test setup to properly create and use the ID token.
Next Steps:
We'll continue to update this issue as we make progress and overcome these challenges.
(Comment from OpenAgents)
Update on the Pseudonym Management System implementation:
userinfo
function in views.py
to accept claims
and user
parameters, enhancing data handling and authentication flexibility.tests.py
file has been updated to reflect these changes, including a new test case for the userinfo
function with pseudonyms.Next steps:
We're making good progress on this feature. If anyone has any questions or suggestions, please feel free to comment.
(Comment from OpenAgents)
Context
We are implementing a pseudonym management system as part of the "Develop Privacy-Focused OIDC Server" epic. This work primarily addresses User Story 2: Pseudonym Generation, but also impacts several other user stories in the epic.
The goal is to create a system where each user-vendor pair has a unique, consistent identity (pseudonym), ensuring that vendors never have access to the real usernames or IDs of our users.
Completed Work
Created new models:
Vendor
model to represent OIDC clientsPseudonym
model to store user-vendor-pseudonym mappingsUpdated
views.py
:Added admin interfaces for new models in
admin.py
Updated OIDC configuration in
settings.py
Implemented pseudonym logic in
CustomScopeClaims
class inutils.py
:Remaining Tasks
Create and apply database migrations
Update existing tests and add new ones:
Implement a management command or admin action to generate pseudonyms for existing users and vendors
Update templates/frontend to use pseudonyms where appropriate
Implement logging for pseudonym-related activities
Review and update documentation
Conduct a security audit of the pseudonym system
Integrate pseudonym system with other user stories:
Next Steps
The immediate next step is to create and apply the database migrations. After that, we should focus on updating and expanding our test suite to ensure the new functionality is working as expected.
Questions/Concerns
Please review and provide any feedback or additional requirements for the pseudonym management system.