eIDAS SAML extensions including SPType and RequestedAttribute/RequestedAttributes#520
eIDAS SAML extensions including SPType and RequestedAttribute/RequestedAttributes#520smarek wants to merge 3 commits intoSAML-Toolkits:masterfrom
Conversation
|
Only Travis job I consider possibly my fault is this: https://travis-ci.org/onelogin/ruby-saml/jobs/617734280 |
…crosoft cgg/2016 schema
|
@smarek |
|
@dub357 whole point of this is to allow login via eIDAS IdP in Gitlab, using just modified configuration of gitlab.yml, since I don't know any better way to override gitlab omniauth-saml/ruby-saml dependencies with custom ones, i've done it this way. I'm open to any suggestions on how to do it better, but in the mentioned context (Gitlab) i'm not sure, there is a better way |
|
Ouch I see...its a little more tricky then since you are dealing with an off-the-shelf product with its own configuration that uses omniauth-saml, which then uses ruby-saml. I've found that most products that claim to support SAML only support the basics. Many dont' even support the full spec. So you have a real challenge here. |
|
@dub357 cheers, linked library was created by me, so that will definitely help, but not really, unless this ticket is solved simplesamlphp/saml2#211 anyway, with this PR, relevant PR on omniauth-saml and some configuration of gitlab.yml, we're running against eIDAS IdP successfully, so I'm not pushed by my peers, to do anything to these proposals. and last, yes, wrapping the whole Gitlab with custom SSO proxy, could be solution, but not systematic, and instead of changing the gitlab dependencies (used libraries), i'd have to change the deploy/run model, and that is far more difficult, than what I've already done |
|
@dub357 already gave you arguments why this PR can't be accepted. I think you missed the AttributeService class, which already take care of the attributes that the SP gonna need, so I don't think you need this new requested_attribute class, and use instead the attribute_service which is already used by the metadata class. As @dub357 suggested, you better fork the authnrequest class reusing the settings.attribute_consuming_service parameter, drop all those new xsd files. Maybe omniauth-saml give you more flexibility or you will need to also extend it I will leave it here in case someone else requires it. |
I'm very new to Ruby programming, so I'm sorry for any default mistakes I could've made.
This proposal should provide ability of ruby-saml package to provide samlp:Extensions element as of eidas saml extensions xsd (included in PR) together with SPType (ServiceProviderType) indication and RequestedAttributes collection, directly in AuthRequest
This is based on EC eIDAS eID Profile specification (https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile), specifically eIDAS Message Format v1.2.pdf sections 2.3.2 and 4.1
To explain changes:
While I'm sorry for including changes, not directly relevant to matters, it would be very painful for me to format all my code manually, so please excuse that