Comments (9)
@ma1uta Seems that needs a final fixing in ma1sd:
matrix-org/synapse#6772 (comment)
from ma1sd.
I have pushed to the master the temporary fix of the rest_password_provider. Also I am going to create PR to add missing methods to the public API.
from ma1sd.
Same problem, here is Synapse issue about this problem: matrix-org/synapse#6772
from ma1sd.
@ma1uta Were these ever done?
from ma1sd.
Maybe. I don't well with python and too busy. PR welcome.
from ma1sd.
@ma1uta I can take a look. What do you need exactly? Where is the python code?
from ma1sd.
@anoadragon453 thanks for help. The problem code: https://github.com/ma1uta/matrix-synapse-rest-password-provider/blob/master/rest_auth_provider.py#L86
One of the cases of the matrix-synapse-rest-password-provider:
- a new user is trying to log in
- synapse delegates passwords check to the matrix-synapse-rest-password-provider
- rest-provider sends a request to the ma1sd
- ma1sd finds login/password in an one of the storages
- ma1sd returns profile of a new user
- rest-provider registers a new user if necessary and update the profile
What wrong with that? I don't think that register and update profile a new user on the password checks is a good idea, but synapse doesn't have another module or user/profile/... providers to implement this feature.
Currently rest-provider uses a protected profile handler. I am not so good with the synapse code and cannot find the best alternative.
from ma1sd.
So, it looks like the two features of matrix-synapse-rest-password-provider that use the datastore here are:
- Setting the displayname of the user on login/register
- Updating/replacing the current set of 3PIDs for the user upon login/registration
The only relevant things the current module API provides is:
- Setting displayname on register (not login)
- Setting initial emails on register (not login) (not phone numbers)
So at this time, the features you would need from the ModuleApi to stop reaching into the datastore would be:
- Ability to set user displayname
- Ability to set the user's threepids (and an option to erase existing threepids)
I've added an issue for adding this functionality here: matrix-org/synapse#7734 (you could continue to use the database-reaching functionality for older versions of Synapse).
While browsing through the module's code... I realized it could really use some cleaning up. I may submit a PR for that at some point 🙂
Do you know what the minimum Synapse version you'd like to support is? And do you still want https://github.com/ma1uta/matrix-synapse-rest-password-provider to support Python 2?
from ma1sd.
Thanks a lot for help!
Do you know what the minimum Synapse version you'd like to support is? And do you still want https://github.com/ma1uta/matrix-synapse-rest-password-provider to support Python 2?
I think to support only Synapse versions which officially supported. Since Synapse support only Python 3.5-3.8 https://github.com/matrix-org/synapse/blob/develop/INSTALL.md#installing-from-source we can drop Python 2 support.
from ma1sd.
Related Issues (20)
- log4j (security vulnerability?) HOT 1
- Docker image / Maven/Gradle dependencies have security vulnerabilities HOT 1
- trivy scan report: 216 total issues HOT 2
- REST+LDAP=bypassing password
- Assign admin permissions via LDAP
- LDAP workin config HOT 3
- Unable to add identity server als identity server in element client. HOT 1
- documentation unclear: can ma1sd create users in LDAP/Active Directory via self-registration? HOT 2
- Use of outdated `/_matrix/identity/api/v1/lookup` API
- Invite - ERROR: relation "group_users" does not exist HOT 1
- Docker container fails to allocate memory on Fedora 36 HOT 1
- Profile attributes from LDAP not populating HOT 14
- Two outdated things in the documentation
- Can't know which user has made a search request
- Failed to load native library:sqlite-3.34.0
- ccccccrjicdhrjfidcuhjvdlnktttjbvbbgvberrfece HOT 1
- Future releases/updates ? HOT 2
- Cant get ma1sd running HOT 6
- Error M_UNAUTHORIZED: Supplied credentials are invalid HOT 1
- Phone number is check with two ++ HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ma1sd.