Attendees:
Roland, Johan, Heather, Scott, Ivan, Matthew
Notes:
0 - Agenda bash
1 - Administrivia
• Board will have their annual meeting next week. Same board slate.
• Johan will be off for parental leave until August 2023
2 - Project review
a. General
b. OIDC - https://github.com/IdentityPython (JWTConnect-Python-OidcRP, JWTConnect-Python-CryptoJWT, etc)
Roland has been working on documentation aimed towards software developers.
Working on the PRs in the OIDC libraries and have merged all but one. Also started rebasing the fedservice fork so we can issue a PR soon for the work done to support federation. This will be a major PR but mostly in the lower level code. This will bring eduTEAMS in sync with this library; at that point there will be no reason to keep separate software running for eduTEAMS.
OIDC federation spec is getting closer to being finalized. There have been discussion from people running OIDC federations in the same way that SAML federations are run (one authority collecting the info). There is a difficulty in that one model (OIDC federation spec) assumes end-to-end encryption where the other assumes that encryption stops at the edge and the organization can inspect the payload (required by regulation for banking). Finding a compromise by allowing metadata collection from well-known endpoints. This involves separating the path from the trust model.
c. Satosa - https://github.com/IdentityPython/SATOSA
Ivan is preparing a new release, but nothing major. Is considering accepting one more PR (https://github.com/IdentityPython/SATOSA/pull/429) and then will cut the new release. See also
• https://github.com/IdentityPython/SATOSA/issues/428
• https://github.com/IdentityPython/SATOSA/pull/430
After this release, will move Satosa to using poetry and require Python 3.9.
d. pySAML2 - https://github.com/IdentityPython/pysaml2
Next release will see minimum Python requirement to 3.9 (see email to list).
Other major updates:
• https://github.com/IdentityPython/pysaml2/pull/888 (may need further discussion)
• https://github.com/IdentityPython/pysaml2/pull/895 (compatibility changes)
A user came back to an issue (submitted as a PR: https://github.com/IdentityPython/pysaml2/pull/665) about how operations are done with xmlsec1. May need to revisit this. By default, pySAML2 uses the xmlsec1 binary. xmlsec1 works with files, so pySAML2 is always writing files to the file system, but Windows cannot automatically clean up those files; they have to have an external process cleaning up the files. This is not fixable. for the *nix systems, there are automatic cleanups, but they are buggy. Person who submitted the issue offered a suggestion (code) but another option is to handle xmlsec1 differently and offer a different back end. If interested, please review and comment on the PR.
e. Any other project (pyFF, djangosaml2, etc)
3 - Documentation
See OIDC update
4 - AOB
Thanks! Heather
Hello everyone,
Within IdentityPython we have agreed to support the Python version
that comes with the stable version of Debian. The current stable
distribution of Debian is version 11, codenamed bullseye. It was
initially released as version 11.0 on August 14th, 2021 and its latest
update, version 11.6, was released on December 17th, 2022.
Debian stable supports Python 3.9, so I am looking towards bumping the
minimum supported Python version to 3.9, for PySAML2 and then for
SaToSa. Once this is done, we will be adding typing information to the
codebases to ease contributions from other developers and start
separating the public APIs from internal code. This will aid in
documenting what is there, refactoring the code and cleaning up old
and unused code.
The plan is to create a new release with the currently merged changes.
Then, have a separate release just bumping the minimum Python version
required by the package.
Expect these new releases to happen within the next week.
Cheers,
--
Ivan Kanakarakis - sunet.se
Attendees:
Matthew, Roland, Johan, Ivan, Heather, Giuseppe
Note:
0 - Agenda bash
• py11 - who is maintaining this?
1 - Administrivia
a. Board slate for 2023
• Heather Flanagan (Spherical Cow Group)
• Leif Johansson (SUNET)
• Christos Kanellopoulos (GÉANT)
2 - Project review
a. General
• python minimal version update; first with pySAML2 (see notes below) and later to Satosa and other libraries
b. OIDC - https://github.com/IdentityPython (JWTConnect-Python-OidcRP, JWTConnect-Python-CryptoJWT, etc)
• Roland's video is now on YouTube. While creating the session, found things to change in the code to be more consistent. That's been complete and the OIDC federation implementation has been updated as well. Question now is what to do with the older PRs from eduTEAMS. Should those PRs be applied first, then Roland's changes, or vice versa? When the work is complete, then Roland will not do any new development (bug fixes only) unless new functionality is absolutely required. Instead will focus on writing documentation for other core developers (not users)
• PR for client credentials - nice to have, not necessary
• PR for revocation endpoint - that is deployed and running in eduTEAMS; it should come with tests and ok to merge
• PR for various changes - fixing or changing some things that came when eduTEAMS migrated to idpy oidc; changes that were never merged on oidc op.
c. Satosa - https://github.com/IdentityPython/SATOSA
One new issue reported - desire for support for more client authentication methods. Don't want to do this on pyop; should try to push them to use the new front ends.
Still wants to move Satosa to using poetry, but hasn't had time yet.
d. pySAML2 - https://github.com/IdentityPython/pysaml2
• bumping the minimum supported python version to 3.9 (as supported by latest stable Debian) - some of the updates to various libraries would be much nicer if we stick with a more recent version of python; would be able to use types (among other things). Primary cause for using types is support for better documentation. There are tools that will allow types to be stripped from the code if people in older environments need that. idpy 3.7 is the oldest supported python release, but support for that ends in June.
• Ivan to send a note to the mailing list letting people know about this change. Bumping the python version will be its own release for pySAML2, then another release adding support for mypy, then a separate release adding support for types.
• start adding typing support (and use mypy) - see python 3.9 discussion. Once you have enough info through the types, it is easier to refactor the code because you know what's there, what cases need to be covered.
• this is done in the context of Johan and Fredrik working on adding support for the Anonymous/Pseudonymous/Personalized entity categories
e. Any other project (pyFF, djangosaml2, etc)
djangosaml2 - new release out; there was a regression from the previous release.
pyFF - Matthew is planning to develop a docker official image for pyFF sometime this spring, similar to what he's developed for Satosa. What's on dockerhub now is old and not obviously maintained. Nicole Roy will also be part of this work.
• eduTEAMS uses pyFF; they have forked the image and updated it with minor modifications. The problem with pyFF is that the bigger the metadata you give it, the more memory it requires. Could look into breaking the operation into chunks. The only reason the whole payload is required is to calculate the final signature, but that can be done incrementally. Unclear if this change would break anything. eduTEAMS (Ivan) has investigating this on the list, but it's not a high priority. This would be an internal change.
• SUNET has also requested some changes and have created a branch with improvements. Need to ask Leif about this.
py11 - ok for Johan to be the maintainer and merge his PR? Yes.
3 - Documentation
Doc writing guidance:
• https://www.writethedocs.org/videos/eu/2017/the-four-kinds-of-documentation…
• https://developers.google.com/tech-writing
• https://www.technical-communication.org/technical-communication/software-do…
• https://ieeexplore.ieee.org/document/625327 (pay walled)
Should we post a survey to collect information on the developer's experience to help prioritize/guide our documentation? When a developer lands on the idpy pages, do they have enough information to start contributing and engaging with the community? There are different types of developers - developers who are trying to deploy it, developers who want to add functionality, developers who are trying to find an answer to a specific question.
• Roland is focusing on writing documentation for developers who have a specific problem with the current OIDC libraries
• Heather and Ivan to review https://github.com/IdentityPython/Governance/blob/master/idpy-projects.md to see if it needs to be updated (see section on Technical quality)
Thanks! Heather
Tuesday, 17 January 2023, 14:00 UTC
Zoom: https://us06web.zoom.us/j/83378219417?pwd=dWFLdjRHK3BnRkZMa3VSd2lNaElpdz09
Agenda:
0 - Agenda bash
1 - Administrivia
2 - Project review
a. General
• bumping the minimum supported python version to 3.9 (as supported by latest stable Debian)
• start adding typing support (and use mypy)
• this is done in the context of Johan and Fredrik working on adding support for the Anonymous/Pseudonymous/Personalized entity categories
b. OIDC - https://github.com/IdentityPython (JWTConnect-Python-OidcRP, JWTConnect-Python-CryptoJWT, etc)
c. Satosa - https://github.com/IdentityPython/SATOSA
d. pySAML2 - https://github.com/IdentityPython/pysaml2
e. Any other project (pyFF, djangosaml2, etc)
3 - Documentation
4 - AOB
Thanks! Heather
Hello idpy developers!
It’s that time again! Time to accept nominations for the Board slate. Three of the current board members are at the end of their term; all three have agreed to continue on as Board members:
• Heather Flanagan (Spherical Cow Group)
• Leif Johansson (SUNET)
• Christos Kanellopoulos (GÉANT)
As a reminder regarding board seats:
"The IdentityPython Board has a minimum of three, and a maximum of seven natural persons. The founding IdentityPython Board has appointed a number of its constituting Directors to serve a half (12 month) term, and the remainder to serve a regular (24 month) term. Subsequent Directors are elected by the IdentityPython Board to regular 24-month terms according to the procedure set out in these Statutes. The founding Board will select a nominating committee of active developers and other contributors to identify candidates for ongoing Board membership. Directors are permitted to seek office for multiple terms, however, when running against other candidates the amount of terms they have consecutively served is deducted from the votes cast in their favour. This provides a balance between continuity, equal opportunities and renewal of qualities and competences."
(From the Identity Python statutes, officially published with The Commons Conservancy: https://dracc.commonsconservancy.org/0024/)
If you have interest in serving on the board, please let Ivan or I know. Nominations are open until 15 January 2023. If no new nominations come in, the board will re-appoint the current members.
Thanks! Heather
Hello all!
A new year means a new calendar series for the idpy developers calls! For several of the regular attendees, I’ve added you directly to the calendar invitation. For others, if you would prefer to add the call directly to your calendar, you should be able to use this link to add the meeting.
Our next call will be next Tuesday, 17 January 2023, at 14:00 UTC (it’s pinned to 6am US Pacific time).
Please let me know if you have any questions, and I will see you next week!
Thanks! Heather