Hi Leif,
I added 2 pipes to buildin.py:
- publish_html creates static HTML views of IDPs and SPs, using XSLT based on Peter Schober’s alternative to MET;
- publish_split: similar to store, but added validUntil and creates signed XML-file per EntityDescriptor. This can be consumed dynamically by ADFS in an IDP role.
I put it directly into buildin.py because it shares some code with the sign pipe. Is this viable from your PoV - if yes, I would make an PR.
Cheers, Rainer
Hi all,
being part of Commons Conservancy brought up yet another subject,
which is whether we should add a header with license information in
every file in the projects under idpy. This is not something done in
an abstract way, there is a specific format modelling this information
(see https://spdx.org/ and https://reuse.software/ - more specifically
https://reuse.software/practices/2.0/) Still, I find it problematic.
We want to open up the question to the wider community and consider
their thoughts on this. The forwarded message below is discussing this
subject. You can see the question we posed, the answer we got and my
comments. Feel free to tell us what you think on this.
---------- Forwarded message ---------
Date: Thu, 16 May 2019 at 09:56
> ---------- Forwarded message ----------
> Date: May 8, 2019, 8:15 AM -0700
>
> > Why does CC think having a single license file per project is
> > insufficient? Our thought is that if we can avoid adding a header to
> > every single file, that would be nice, esp. given we already have this
> > info in the license file and we have the Note Well.
>
>
> this is not just our opinion, but something that is an industry and
> community standard for legal compliance these days. When companies like
> Siemens, Samsung or Honeywell use some code in one of the hundreds or
> thousands of devices and systems in their product line, they need to be
> able to provide the correct license and a download of the exact version.
> This means machine readability too.
>
I've actually observed the opposite of that. Communities abandon the
"license in every file" model, and just use a single LICENSE file in
the root of the project. The LICENSE file contains license
information, that is, it is not a single license but it has exception
sections and so on.
> To quote from https://reuse.software/practices/2.0/ :
>
> Scroll to the section "2. Include a copyright notice and license in each
> file"...
>
> "Source code files are often reused across multiple projects, taken from
> their origin and repurposed, or otherwise end up in repositories where
> they are separate from its origin. You should therefore ensure that all
> files in your project have a comment header that convey that file’s
> copyright and license information: Who are the copyright holders and
> under which license(s) do they release the file?
>
Continuing from above, the standardization of package-management
formats and tools has helped exactly with that: to avoid distribution
of single files, and instead provide packages and modules. It is bad
practice and considered a hack to copy files. Nobody liked that model
and everyone is moving away; it is unstructured, it becomes
unmanageable and it will cause problems.
> It is highly recommended that you keep the format of these headers
> consistent across your files. It is important, however, that you do not
> remove any information from headers in files of which you are not the
> sole author.
>
> You must convey the license information of your source code file in a
> standardised way, so that computers can interpret it. You can do this
> with an SPDX-License-Identifier tag followed by an SPDX expression
> defined by the SPDX specifications."
>
> (the text goes on for a while after this, to clarify the point but this
> is the basic gist of it)
>
> There is a nice Python tool to check:
>
> https://github.com/fsfe/reuse-tool
>
> I hope this makes sense
>
Well, it does not make complete sense. We're talking about licensing a
project. A project is not just code; there are data files (html, xml,
yaml, json files), binary files (archives/zip, images, audio, video,
etc), text files (configs, ini-files, etc) all "not-code". How do you
mark those files? Does the LICENSE file need a license-header? The
json format does not define comments, how do you add a header there?
If a binary file does not get a license header, why should a file with
code get one?
I would expect there to be a way to have the needed information
unified. If the files themselves cannot provide this information it
has to be external; thus the LICENSE file. If someone is worried about
somebody else re-using single files that do not have license
information (a python file, a png image, etc) there is really nothing
you can do (the DRM industry has been trying to solve for a long time;
and still your best bet is "social DRM").
Since, we're developing on open source with a permissive license, even
if someone does that, should we be happy that someone is actually
using what we built or sad that the files they copied did not have a
license header? And if they include the license information of that
copied file in their project's LICENSE file, is this solved?
Having pointed these contradictions, I am thinking that the "license
in every file" model seems to be a step backwards. It is introducing
overhead and does not really solve the problem, while at the same time
it enables a culture of bad practice (copying files around).
Cheers,
--
Ivan c00kiemon5ter Kanakarakis >:3
Attendee:
Ivan, Heather, Scott, Roland, Giuseppe
Regrets:
Matthew
1 - Proposed project (https://github.com/IdentityPython/Governance/blob/master/idpy-projects.md)
a. https://github.com/peppelinux/pyMDOC-CBOR -> https://github.com/IdentityPython/pyMDOC-CBOR
See email to the idpy-discuss mailing list on 9 June 2023. We have strong support on the list.
Giuseppe is working on the 0.6.0 release; expects that to be done in a week or so. Goal is to make sure this is a tool that people can use without knowing Python.
There are still open questions re: mDoc vs VS and how that will play out in the EU Digital Wallet ARF.
This spec might be of interest (if only to make us all crazy) : https://datatracker.ietf.org/doc/draft-terbu-sd-jwt-vc/
See also: https://github.com/vcstuff
Note the Open Wallet Foundation has started holding meetings and has a task force focused on OIDC.
• https://github.com/openwallet-foundation/OID4VC-due-diligence-tf
Italian specification of the wallet:
• https://github.com/italia/eidas-it-wallet-docs/pulls
2 - Project review
a. General
b. OIDC - https://github.com/IdentityPython (idpy-oidc, JWTConnect-Python-CryptoJWT, etc)
Roland has been working on Satosa backend connecting to the OIDC library (a new backend using idpyoidc so Satosa can make client calls to OPs). When we get this module, we can start to look at logout flows. This will also relate to the browser changes and how cookies are effected.
Next step, wants to get SAML out of Satosa core (it has a dependency on pySAML). Also want to get rid of cryptodome (sp?) in favor of cryptoJWT. Concern that cryptoJWT may not handle certificates well. (https://cryptography.io/en/latest/x509/) Need to also determine where else cryptodome may still be a dependency. Would be nice to clean up that legacy.
Separating the core from the protocols is a good idea, so each protocol can be treated separately and libraries installed as relevant.
Suggest we move ahead with a PR for what Roland has worked on so far. Fully separating out pySAML will need to be treated as a separate effort that will require several steps.
There are older backends talking to specific services (facebook, github). It doesn't appear we need those specific connections any more. Should they be removed? We can remove the ORCID one; they are using standard protocol flows. Do need to check for the rest. They should be just a question of configuration not a specific module.
Roland has released 2.0 of idpy-oidc, which is what eduTEAMS is using. So, now eduTEAMS is (nearly) free to publish their frontend.
Note there is confusion regarding the older libraries. See https://github.com/IdentityPython/idpy-oidc/issues/53 . Ivan wrote a response, but if others have more to add, please do.
CZNIC is maintaining py-oidc. Roland will reach out and ask if they'd be interested in moving towards a more up to date implementation.
FYI: https://github.com/UniversitaDellaCalabria/SATOSA-oidcop/releases/tag/v2.0.0
c. Satosa - https://github.com/IdentityPython/SATOSA - v8.3.0 and v8.4.0 released
• nothing major; just pulled in a few PRs
• Will be focusing next on https://github.com/IdentityPython/SATOSA/pull/405 to allow a change of paths
• After that, will focus on pulling out the SAML dependencies
d. pySAML2 - https://github.com/IdentityPython/pysaml2 - also had a new release
• main change keeps us compatible with xmlsec1
• need to do some work around updating dependencies, possibly removing old dependencies such as cryptodome, and using as much as we can from cryptography
• Giuseppe has made a PR for proper GitHub actions to test things as they are committed. Need to include that to make sure the CI is working for both pySAML2 and Satosa.
e. Any other project (pyFF, djangosaml2, etc)
• djangosaml2 had two releases since the last idpy call. Now at v1.6.0. Now have a more granular control over samesite cookies.
3 - AOB
a. 2024 in-person meetings - https://github.com/fedidcg/meetings/wiki/2024-List-of-Identity-and-Related-…
Note that the next idpy call is scheduled for July 4. Ivan is available, though probably the US participants will be offline that day.
Thanks! Heather
Hi,
I am attempting to set up a SAML environment to better understand how
Satosa works. Here is the model of my environment: SAML Service Provider
(SP, pysaml2) <-> Satosa Proxy <-> SAML Identity Provider (IdP, pysaml2).
During the single sign-on service, after entering the username and
password, when the SAML IdP posts the AssertionConsumerService to the
Satosa Proxy, an error(satosa log attached) occurs:
'saml2.sigver.SignatureError.', the following is my satosa proxy logs:
https://pastebin.com/YsRMVzKD
I am unsure about how to resolve this issue. Could anyone provide me with
some guidance?
Any help would be greatly appreciated.
Thanks,
Sam
Dear Friends,
more than a year passed from TNC22 at Trieste, an event during which we are
supposed to create basic components for issuing and verifying verifiable
credentials in both sd-jwt and mdoc cbor format (ISO 18013-5).
While sd-jwt was produced by Daniel Fett in parallel with writing the
draft, and written in python, for mdoc cbor we had nothing more than a
monolithic demo produced by Google and written in Java.
I confess to having meanly waited for someone to do something, sooner or
later. After a year I gathered my pieces and produced this
https://github.com/peppelinux/pyMDOC-CBOR
0.6.0 will be the first official release and I hereby express my
willingness to migrate this new library to identity python.
The Interop tests are going to be made in the GAIN-PoC WG with colleagues
of Authelete that produced something similar but in Java, and with any
other available participant.
Look forward for your kind answer,
best
--
____________________
Giuseppe De Marco
Centro ICT d'Ateneo
Università della Calabria
87036 Rende (CS) - Italy
Phone: +39 0984 496961
e-mail: giuseppe.demarco(a)unical.it
--
------------------------------------------------------------------------------------------------------------------
Il banner è generato automaticamente dal servizio di posta elettronica
dell'Università della Calabria
<https://www.unical.it/5x1000>