Hi Ingo,

I wanted to check and see how your SAML work was going.  Any other issues we can
help with?

If my suggestion for a new extension point sounds useful, I could work on adding
that for you.  Especially if you are interested in contributing back your SAML
work.  If not that's fine, but it would be great.

-Dave

On 1/9/18 11:54 AM, Dave Brondsema wrote:
> Exciting to hear you have a proof of concept working!  If you get it to a 
> point
> where you are able to share it, that would be a nice contribution to the 
> project.
> 
> I am not very familiar with SAML, but I understand now what you are saying 
> about
> how it supplements instead of replaces the normal authentication.  I think the
> App is the best option right now - you could install it at the neighborhood so
> it is at /p/saml or something like that.  And then set `max_instances = 0` in
> the App so no other project can install it too.  I've done that for a few 
> things
> that just need to exist in one place.  Obviously not great though.
> 
> The only other extension option available right now
> (https://forge-allura.apache.org/docs/development/extending.html) is 
> middleware,
> but I think that would be make it too separate and not as nice of an 
> integration.
> 
> I think the ideal solution would be to add a new extension point for arbitrary
> controllers.  In allura.controllers.root.RootController it could have a 
> _lookup
> function to handle any unknown URL paths and then check in the new extensions
> for a matching controller.  Something like that could be useful for many 
> things.
> 
> -Dave
> 
> On 1/7/18 9:33 AM, Ingo Hornberger wrote:
>> Hi Dave,
>>
>> thanks for your reply. I waited a bit longer with mine, as I wanted to have
>> the chance to dig deeper into SAML and have some first hands-on.
>> Actually I did a proof of concept now, and am still not sure how the best
>> integration looks like.
>>
>> Currently I see the SAML authentication as an "add on" to your normal user
>> authentication providers. Because, actually I don't care if the additional
>> user data is stored in LDAP, Mongo or wherever. I'm just creating an open
>> session for a user, if my trusted IDP tells me to.
>>
>> So my current proof of concept is an app controller, which is taking care
>> about the communication with the IDP and logs the user in, when he is
>> authorized.
>>
>> Doing this in an App is not the ideal solution obvisously. Having an own
>> mount point for SAML would be by far better (e.g. http://myside.com/saml or
>> http://myside.com/auth/saml). But I found no way to achieve that with
>> Allura other than patching the root controller.
>>
>> What I would need is a mount point for a controller and a view, which
>> doesn't depend on a project or Application.
>>
>> What do you think would be the best practice for that?
>>
>> BR,
>> Ingo
>>
>>
>> 2018-01-04 2:34 GMT+01:00 <dev-digest-h...@allura.apache.org>:
>>
>>> From: Dave Brondsema <d...@brondsema.net>
>>> To: dev@allura.apache.org
>>> Cc:
>>> Bcc:
>>> Date: Thu, 28 Dec 2017 12:53:12 -0500
>>> Subject: Re: SAML
>>> Hi Ingo,
>>>
>>> The short answer unfortunately is that Allura uses some of the basics of
>>> Turbogears but does its own thing for most stuff, including
>>> authentication.  The
>>> authentication system is pluggable in Allura, so it should be possible to
>>> write
>>> a SAML plugin, but the turbogears extension wouldn't work.
>>>
>>> These docs explain the methods that would have to be implemented:
>>> https://forge-allura.apache.org/docs/api/lib/plugin.html#
>>> allura.lib.plugin.AuthenticationProvider
>>>
>>> And
>>> https://forge-allura.apache.org/p/allura/git/ci/master/
>>> tree/Allura/allura/lib/plugin.py
>>> has the base AuthenticationProvider and the LocalAuthenticationProvider and
>>> LdapAuthenticationProvider code, which could be useful references.
>>>
>>> -Dave
>>>
>>> On 12/25/17 1:26 PM, Ingo Hornberger wrote:
>>>> Hey guys!
>>>> I just did some research how allura could be extended with SSO
>>>> functionality. I encountered that OpenID was once supported but
>>>> discontinued.
>>>>
>>>> Then I found out that turbogears itself supports SAML with a pluggable
>>>> extension:
>>>>
>>>> https://pypi.python.org/pypi/tgapp-samlauth/0.0.2
>>>>
>>>> This sounded promising from an outside point of view. But I am new to TG,
>>>> so I wanted to ask you guys for some hints to find the best and most
>>>> pragmatical approach to get SAML or a similar protocol to work. It should
>>>> just cooperate with keycloack. So a few configurations are possible,
>>> while
>>>> SAML would be prefered.
>>>>
>>>> Could such an extension work in allura, or did you change too much in the
>>>> authentification system?
>>>>
>>>> Thanks in advance!
>>>>
>>>> Ingo
>>>>
>>>
>>>
>>>
>>> --
>>> Dave Brondsema : d...@brondsema.net
>>> http://www.brondsema.net : personal
>>> http://www.splike.com : programming
>>>               <><
>>>
>>>
>>>
>>
> 
> 
> 



-- 
Dave Brondsema : d...@brondsema.net
http://www.brondsema.net : personal
http://www.splike.com : programming
              <><

Reply via email to