In my effort to clean up pyff (cf recent posts) I have created an
HTML5/JS frontend app that closely mirrors the "admin" application
that pyffd currently comes with: https://github.com/SUNET/mdq-browser
This is another step in the (previously announced) plan to make
core pyFF less of a monolith.
Also the api-refactory has seen a lot of work recently, notably
adding several APIs to help instrument pyFF and a rewrite of the
fetch module to use apscheduler which looks like a great tool for
managing asynchronous operations.
Cheers Leif
Hola a todos!
After much discussion, debate, and research, the Identity Python board (https://idpy.org/organization/) has agreed upon a Note Well [1] to govern contributions to all Identity Python Projects. This Note Well is linked off the Contribute page on our website. See https://idpy.org/contribute/.
Please let me know if you have any questions!
-Heather
[1] Full text:
Identity Python Note Well
version 1 - Approved 1 May 2019 by the Identity Python Board
This is a reminder of Identity Python policies in effect on various topics such as patents or other IPR.
• By participating (e.g., submitting code, attending in conference calls or meetings, posting to project mailing lists) in Identity Python projects, you agree to follow Identity Python processes and policies as defined in the Identity Python governance pages and in the GitHub Terms of Service.
• If you are aware of any code, component or material idea within any of the projects included in Identity Python that is covered by patents or patent applications that are owned or controlled by you, your sponsor, employer or any other organization with which you are affiliated, you have an obligation to disclose that fact, or refrain from contributing to Identity Python.
• By making a contribution to Identity Python you are asserting that you have permission to make such contributions on behalf of your sponsor employer or affiliated organization.
• If you are working on any code component jointly managed with another organization, you agree to abide by that organizations IPR policies and any requirements for a Contributor License Agreement.
• As a participant or attendee, you agree to work respectfully with other participants; please contact the Identity Python board board at idpy.org if you have any questions or concerns.
Hi,
Right now the saml2.py in src/satosa/backends/ has
def disco_query(self):
"""
Makes a request to the discovery server
:type context: satosa.context.Context
:type internal_req: satosa.internal.InternalData
:rtype: satosa.response.SeeOther
:param context: The current context
:param internal_req: The request
:return: Response
"""
return_url = self.sp.config.getattr("endpoints", "sp")["discovery_response"][0][0]
loc = self.sp.create_discovery_service_request(self.discosrv, self.sp.config.entityid, **{"return": return_url})
return SeeOther(loc)
Essentially this restricts the flow to one and only one IdP discovery
service that is configured statically.
I propose that this method be enhanced so that it can inspect the context
and internal data and if it finds a URL for the discovery service to use
it overrides what is in the configuration.
Then one can configure a request microservice that uses some logic to set
the URL for the discovery service, such as which SP the authentication
request came from.
Since the comment for the method already includes a mention of the context
and internal data, I suspect this functionality was designed but never
implemented.
Any objections to me implementing it?
Any other comments or input?
Thanks,
Scott K
Hola a todos!
Ivan and other members of the eduTEAMS team are unavailable this week, so we’ll go ahead and cancel the call. Our next meeting is scheduled for 30 April 2019.
Talk to you then!
Heather
Attending:
Johan, Heather, Ivan, Rainer
Project updates
Not much on the public repos. There has been quite a bit of work on eduTEAMS, which has a lot to do with microservices and how they use Satosa. Also has impact on the OIDC libraries.
Did do a fix for an issue Scott had with regards to how XMLsec errors were handled. First fix sent the code into an endless loop (oops) but latest patches should be fine. This patch will generate a new release, based on the new way we have agreed to generate releases.
Release process
We will cut a new release and it will be tagged with a branch. Community maintainers will work in the branch space, and core developers will work on the master branch. Latest release for pySAML is 4.6.5. Ivan will cut a new release (4.6.6) and then that branch will be incremented by the community maintainers (4.6.6.1 for first change).
Alternatively, Ivan could cut a 4.7 release, and community maintainers would maintain the minor release numbers only. This seems to make more sense; Ivan will do this.
Description of the release process text is copied in each repo. Heather to update it and pull that back into one location so that we only have to change it in one place.
Next on the list for Ivan: Satosa and pySAML2
Fixing redirect binding and some options set in Satosa but which are configured in pySAML2 (how we handle sign_assertion, sign_response, sign_alg, digest_alg). This is the same issue we’ve been talking to Martin about; this impacts eduTEAMS, SURF, and others.
Ivan will cut another release later this week with the fixes for above included. (This will be edition to the release today that fixes xmlsec)
Another issue: https://github.com/IdentityPython/pysaml2/issues/592 <https://github.com/IdentityPython/pysaml2/issues/592> do not properly check the certificate as a result of some of the configuration options. Will be changing the default values to require this checking; that may break some existing implementations. Ivan will be investigating further. This more a misconfiguration than a security issue.
Reminder: we’ll have another call in a week; Daylight Saving Time skew will still be a problem so check your calendars!
Hola a todos!
Since we had to cancel the call this week, let’s aim for a call this coming Tuesday. Please note that we’re entering in that time where Daylight Saving Time varies between much of the US and Europe, so this may not be at quite the usual time for all participants!
idpy Developers call (off week)
Scheduled: Mar 12, 2019 at 6:00 AM to 7:00 AM
To join the Meeting:
https://bluejeans.com/679462931
To join via Room System:
Video Conferencing System: bjn.vc -or-199.48.152.152
Meeting ID : 679462931
To join via phone :
1) Dial:
+1.408.740.7256 (US (San Jose))
+1.888.240.2560 (US Toll Free)
+1.408.317.9253 (US (Primary, San Jose))
(see all numbers - http://bluejeans.com/numbers)
2) Enter Conference ID : 679462931
Hello everyone,
The TIIME meeting kickstarted some very interesting discussions. One
of the topics on the "Open Source Identity and Access Management "
track was "Open Source Business models and cooperations for IAM". I
was there on part of the discussions that started the 2nd day and
expanded over the next days. The topic is dense and while it was
directed to the domain of IAM, I think that comes later in the
picture, after we've discussed and agreed how Open Source works, why
it is important for us and technology, and how one can benefit from
(using or investing in) it. Being upfront and clear on why we support
Open Source is key to understanding how Open Source can support us.
Trying to not repeat what others have said better and before me, I
will stay short, and I'll leave you with references to people,
conferences and organizations that are dedicated to this, to analyze
in detail the different aspects of the subject.
IMHO, there are two things that prevent us from reasoning how we can
benefit (financially among other forms of "benefit") from Open Source:
1. the fact that when we talk about Open Source, we usually think
about software,
2. and, that we don't talk about what we mean with terms like
"success" and "sustainability"
(1) But, software is about people: We build and create software to
make certain aspects of people's life easier; it is always about
adding value to other people. Open Source empowers the users to take
part on the decisions made for the evolution of the software. This is
the big differentiator between closed-source and open-source projects.
Closed-source projects have users, while open-source projects have
communities.
The foundation on top of which a successful open source project
builds, is not the service or product, it is the community. In
closed-source companies, what has value is either the product, or the
(almost always, private) data that the product has collected. In
open-source companies the value is not on the product itself, but on
the relations between the company and the users. The investment should
be in maintaining this relationship, building trust, while the product
evolves both from the core-dev team and the community, with respect to
the community.
Now, this is a hard goal. People are difficult, and in the modern
world even more. Competition is high, deals will almost always benefit
the closed-source companies and the risk of working in the open is
higher, precisely because control is not in your hands. However, it is
not impossible. There are many organizations out there, big (some very
big) and small, that have succeeded. And this is where (2) comes in.
Taking into account (1), expectations must be adjusted to the
difficulties of the reality of Open Source. It is not about marketing
and selling the product anymore; it is about managing communities and
continuously delivering value. It takes time and effort to create a
robust, high quality codebase and userbase, it takes time and effort
to convince people you are serious about what you do, and it takes
time and effort to create and maintain relations (not just deals.)
Time is a very important factor, because it is a limiting factor that
you cannot avoid. It has direct implications on the scale an Open
Source business can have. It is unreasonable to compare Open Source
companies to companies like Microsoft, Google, Facebook, Amazon or any
other giant out there (not just because of the different business
models, but also because a big part of the value comes from the data
collection as well as the data control these companies can exercise.)
So, we must define what "benefit" and "success" mean in the context of
an Open Source business. What is a healthy growth rate, and what
indicators do we use to measure it?
I won't go more into this, as this email is getting bigger than the
small paragraph I had in mind when I started writing. I'll close with
some links to related content:
The economics of software
by Bryan Cantrill (CTO of Joyent)
http://dtrace.org/blogs/bmc/2004/08/28/the-economics-of-software/http://dtrace.org/blogs/bmc/2004/12/16/the-economics-of-software-redux/
Sustain (un)conference - an event about the sustainability of open
source projects
https://sustainoss.org/about/https://github.com/sustainers
The community-compact - a social contract for open-source businesses
and communities
by Adam Jacob (CTO of Chef)
https://medium.com/@adamhjk/introducing-the-community-compact-431c61ab978fhttps://github.com/adamhjk/community-compact
Sustainable Free and Open Source Communities (SFOSC) - a project and
book (in the making) about building healthy, sustainable open source
communities and businesses - guiding principles, business model
definitions and social contracts (like the community-compact above.)
https://medium.com/sustainable-free-and-open-source-communities/we-need-sus…https://sfosc.orghttps://github.com/sfosc
Finally, some notes on the recent discussions on some open-source
projects re-licensing as a way to make money (see Redis, MongoDB,
CockroachDB, etc):
The tragedy of the commons clause
https://redmonk.com/sogrady/2018/09/10/tragedy-of-the-commons-clause/
Open source confronts its midlife crisis
http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-cr…
A EULA in FOSS clothing?
http://dtrace.org/blogs/bmc/2018/12/16/a-eula-in-foss-clothing/
Cheers,
--
Ivan c00kiemon5ter Kanakarakis >:3