-
Notifications
You must be signed in to change notification settings - Fork 447
Metadata store #150
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
Metadata store #150
Conversation
While this is great to support, it would be best to add this in a way that kept the old behavior for backwards compatibility, at least until pysaml2 hits version 3. Can you add some level of introspection that checks if the field is in the old file-based format or your new format? |
I think that is should be possible. |
It should be possible by using some kind of ’aliasing’. — Roland ”Being able to think like a child is an important attribute of being an adult” - Eddie Izzard |
I went with distinguishion by type... |
Works for me.
— Roland ”Being able to think like a child is an important attribute of being an adult” - Eddie Izzard |
Hello Roland, |
Probably not before Monday December 15 |
I can't do it automatically but have to do it by hand. |
OK, that's cool. I just wanted to know if it still beeing considered... Do you want me to rebase it on current master? Or do you prefer to do it by yourself? |
I would definitely prefer it if you rebased it ! Please ! — Roland ”Being able to think like a child is an important attribute of being an adult” - Eddie Izzard |
OK, sure. I will have a look today or tomorrow. |
997764f
to
0f7768b
Compare
Added base class MetaData that defines common interface for any MetaData handling class. MetaDataStore can now use arbitrary class for Metadata handling. The Metadata specification in settings has changed: 'metadata': [ {"class": "full.path.to.metadata.class", "metadata": [(tupple, with, loader, arguments)]}, ]
Done :) |
MetaData has been redesigned to allow using custom classes for metadata handling.
This for example allows the metadata be stored in a database and handle their change dynamically instead of having to reload the server and reparse all MD files again.
class MetaData presents the comon interface for all derived classes.
class InMemoryMetaData is the class used for MD stored in memory as part of the Server object.
Configuration for maetadata has been chaged and now looks as follows:
'metadata': [
{"class": "full.path.to.metadata.class",
"metadata": [(tupple, with, loader, arguments)]},
]
For example this specification:
"metadata": {
"local": [full_path("../sp-wsgi/sp.xml")],
}
needs to be changed as follows:
"metadata": [
{"class": "saml2.mdstore.MetaDataFile",
"metadata": [(full_path("../sp-wsgi/sp.xml"))]},
]