Objectmix
Tags Register Mark Forums Read

Are there any FOSS Python Single-Sign-on Servers? : Python

This is a discussion on Are there any FOSS Python Single-Sign-on Servers? within the Python forums in Programming Languages category; Are there any FOSS Python Single-Sign-on Servers? We're looking to centralise the sign-on for our numerous "internal" webapps (across multiple servers, languages, and domains) to speed user management and application development. I've searched around but can only seem to find OpenID servers, which will probably be too "open" for our needs. Coding one up would possibly take more time than we have, and we'd prefer something maintained externally to cut dev costs....


Object Mix > Programming Languages > Python > Are there any FOSS Python Single-Sign-on Servers?

Reply

 

LinkBack Thread Tools
  #1  
Old 11-11-2008, 12:03 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Are there any FOSS Python Single-Sign-on Servers?

Are there any FOSS Python Single-Sign-on Servers?

We're looking to centralise the sign-on for our numerous "internal"
webapps (across multiple servers, languages, and domains) to speed
user management and application development.

I've searched around but can only seem to find OpenID servers, which
will probably be too "open" for our needs. Coding one up would
possibly take more time than we have, and we'd prefer something
maintained externally to cut dev costs.
  #2  
Old 11-11-2008, 04:24 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

Phillip B Oldham schrieb:
> Are there any FOSS Python Single-Sign-on Servers?

[snip]

> I've searched around but can only seem to find OpenID servers, which
> will probably be too "open" for our needs.

So if it is not OpenID, which protocol are you going to implement?

cheers
Paul

  #3  
Old 11-11-2008, 04:49 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

On Nov 11, 9:24 pm, paul <p...@subsignal.org> wrote:
> Phillip B Oldham schrieb:> Are there any FOSS Python Single-Sign-on Servers?
>
> [snip]
>
> > I've searched around but can only seem to find OpenID servers, which
> > will probably be too "open" for our needs.

>
> So if it is not OpenID, which protocol are you going to implement?


In theory, we could use an OpenID server: our staff could register
with something like MyOpenID, register with each of our individual
webapps, and then gain access with a single sign-on. However, its not
really getting round the problem we have: we need to give our staff
access to all of our apps in one go, give them one place to sign on,
and have the ability to disable their account at short notice. Doing
this with openid would mean we have *no* access to the user account
and therefore would still have the overhead of having to disable
accounts with each webapp we provide. It also opens-up a security
threat in that anyone could register to our "internal" apps with an
OpenID account. Which is bad.

Essentially, we need a SSO server with which we would register our
*webapps* and then create user account, specifying which webapps that
user has access to, and at what level. Essentially something like
OpenSSO but python-based.
  #4  
Old 11-11-2008, 06:00 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

Phillip B Oldham <phillip.oldham@gmail.com> writes:

> I've searched around but can only seem to find OpenID servers, which
> will probably be too "open" for our needs.


Huh? I'm sure you use HTTP for transferring requests and responses,
too, and that protocol is at least as as open. What does the openness
of the protocol have to do with who can access it?

Please, if you're going to be coding new systems, use established,
standard, open protocols with actively maintained implementations. For
single sign-on. OpenID is the one to choose.

--
\ ā€œI stayed up all night playing poker with tarot cards. I got a |
`\ full house and four people died.ā€ —Steven Wright |
_o__) |
Ben Finney
  #5  
Old 11-11-2008, 06:29 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

On Nov 11, 11:00 pm, Ben Finney <bignose+hates-s...@benfinney.id.au>
wrote:
> Phillip B Oldham <phillip.old...@gmail.com> writes:
>
> > I've searched around but can only seem to find OpenID servers, which
> > will probably be too "open" for our needs.

>
> Please, if you're going to be coding new systems, use established,
> standard, open protocols with actively maintained implementations. For
> single sign-on. OpenID is the one to choose.


I think maybe there's some misunderstanding. The protocol isn't the
issue; I'm happy to use whatever (HTTP, LDAP, SOAP, XMPP, etc). The
issue is that OpenID, by its name, is open. We don't want to allow
anyone with an openid account to register with our webapps, we simply
want to centralise registration and sign-on for our employees.
  #6  
Old 11-11-2008, 06:48 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

Phillip B Oldham <phillip.oldham@gmail.com> writes:

> I think maybe there's some misunderstanding. The protocol isn't the
> issue; I'm happy to use whatever (HTTP, LDAP, SOAP, XMPP, etc). The
> issue is that OpenID, by its name, is open. We don't want to allow
> anyone with an openid account to register with our webapps


Then don't do that. The OpenID protocol says nothing whatsoever about
*which* OpenIDs your service will accept.

> we simply want to centralise registration and sign-on for our
> employees.


Then you should reject any attempt to authenticate with an OpenID that
you don't accept.

This could be done by, as one possible example, only accepting OpenIDs
of the form ā€˜http://example.com/openid/username’ (or whatever URL path
you deem useful), and ensuring that you control the OpenID provider
that serves those OpenIDs.

--
\ ā€œHe who allows oppression, shares the crime.ā€ —Erasmus Darwin, |
`\ grandfather of Charles Darwin |
_o__) |
Ben Finney
  #7  
Old 11-11-2008, 07:39 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

On Nov 11, 11:48 pm, Ben Finney <bignose+hates-s...@benfinney.id.au>
wrote:
> Phillip B Oldham <phillip.old...@gmail.com> writes:
>
> > I think maybe there's some misunderstanding. The protocol isn't the
> > issue; I'm happy to use whatever (HTTP, LDAP, SOAP, XMPP, etc). The
> > issue is that OpenID, by its name, is open. We don't want to allow
> > anyone with an openid account to register with our webapps

>
> Then don't do that. The OpenID protocol says nothing whatsoever about
> *which* OpenIDs your service will accept.
>
> > we simply want to centralise registration and sign-on for our
> > employees.

>
> Then you should reject any attempt to authenticate with an OpenID that
> you don't accept.


Even with using OpenID in this way, it still doesn't resolve the issue
we have: quick user registration & sign-on. The user will need to
register an OpenID account then register with each service/webapp we
provide. What we're looking for is the reverse: registering our
webapps/services with a SSO service then (upon starting with the
company) registering our new staff members with this service and
specifying which webapps they have access to and what privileges they
have with those apps.

Please understand I have nothing against OpenID; I use it all the time
and think its a great solution. I just don't think its a great
solution for our particular problem. Keep in mind that OpenID is user-
centric. While I don't mind registering my openid account with the
various sites I use, our staff members will have a nightmare spending
their first day initially trying to understand OpenID, then
registering with each of our services, then waiting while the support
team review their registrations and give them relevant permissions.

Since the support team will have to do this, along-side setting up
email accounts, it makes sense for them to have one interface to grant
access & permissions to the various webapps and for our staff to have
one place to sign-on. Since each staff-member already has a unique
email address it again makes sense to use this rather than an openid-
url which could be confusing.
  #8  
Old 11-11-2008, 08:12 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

Phillip B Oldham <phillip.oldham@gmail.com> writes:

> Even with using OpenID in this way, it still doesn't resolve the
> issue we have: quick user registration & sign-on. The user will need
> to register an OpenID account then register with each service/webapp
> we provide.


Why? You presumably have *existing* accounts for all these people; or
at least, some other database of people for whom you want
authentication credentials. why not cause the OpenID provider (the one
that you manage under your control, that is) to provide OpenIDs for
these existing accounts, and only those?

OpenID is a means of *authentication*, it doesn't mandate any
particular system of registration or account creation. You presumably
already have solutions for those; use them, but de-couple the
authentication process from those systems by using OpenID.

> What we're looking for is the reverse: registering our
> webapps/services with a SSO service


If you write the web application to accept OpenIDs only if they match
a specific pattern, you achieve the same effect; and you then have the
option to later choose to allow some other OpenIDs without needing to
change the authentication protocol.

> then (upon starting with the company) registering our new staff
> members with this service and specifying which webapps they have
> access to and what privileges they have with those apps.


That's quite a different thing from ā€œsingle sign-onā€. I recommend
you use OpenID for the purpose of authentication (proving that the
person's claim of identity is authentic), and implement whatever
system of *authorisation* (determining what the authenticated person
is authorised to do) is appropriate for each application.

You can use the associated OAuth standard protocol to transfer
information from a central provider about what authorisation
information is recorded for a person; I'm given to understand this
integrates well with OpenID.

> Please understand I have nothing against OpenID; I use it all the
> time and think its a great solution. I just don't think its a great
> solution for our particular problem.


OpenID is a solution for transporting authentication data, and
managing the data in a central location under your control. It does
well at that, because the protocol is mature (solving the transport
problem) and there are many supported free-software implementations
for providers and relying parties (allowing you to solve your specific
centralisation needs).

You later revealed that you *also* want a solution for transporting
authorisation data, and managing it in a central manner. This is a
separate issue, but OAuth is a similar solution: it is a standard
transport protocol, with many free-software implementations for both
ends of the conversation.

> Keep in mind that OpenID is user- centric.


If you mean ā€œthe user has to do the set-up workā€, that's entirely
wrong. There exist *services* which *allow* people to set up a new
OpenID, but that's entirely optional. Millions of users on, e.g.
Flickr, AOL, and Yahoo, have now got OpenIDs provided without having
to do anything additional at all.

Your IT support team should be the ones setting up people's account
information, and the systems should be automatically providing OpenIDs
and OAuth profiles for any or all accounts as specified.

The user only needs to be told how to log in, once all this is set up;
and that's necessary no matter what authentication system you use.

> While I don't mind registering my openid account with the various
> sites I use, our staff members will have a nightmare spending their
> first day initially trying to understand OpenID, then registering
> with each of our services, then waiting while the support team
> review their registrations and give them relevant permissions.


Right, so you should be providing these OpenIDs and OAuth profiles as
part of whatever other data collection and account set-up needs to be
done.

--
\ ā€œIf you make people think they're thinking, they'll love you; |
`\ but if you really make them think, they'll hate you.ā€ —Donald |
_o__) Robert Perry Marquis |
Ben Finney
  #9  
Old 11-11-2008, 09:31 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Are there any FOSS Python Single-Sign-on Servers?

Phillip B Oldham wrote:
> On Nov 11, 9:24 pm, paul <p...@subsignal.org> wrote:
>> Phillip B Oldham schrieb:> Are there any FOSS Python Single-Sign-on Servers?
>>
>> [snip]
>>
>>> I've searched around but can only seem to find OpenID servers, which
>>> will probably be too "open" for our needs.

>> So if it is not OpenID, which protocol are you going to implement?

>
> In theory, we could use an OpenID server: our staff could register
> with something like MyOpenID, register with each of our individual
> webapps, and then gain access with a single sign-on. However, its not
> really getting round the problem we have: we need to give our staff
> access to all of our apps in one go, give them one place to sign on,
> and have the ability to disable their account at short notice. Doing
> this with openid would mean we have *no* access to the user account
> and therefore would still have the overhead of having to disable
> accounts with each webapp we provide. It also opens-up a security
> threat in that anyone could register to our "internal" apps with an
> OpenID account. Which is bad.
>
> Essentially, we need a SSO server with which we would register our
> *webapps* and then create user account, specifying which webapps that
> user has access to, and at what level. Essentially something like
> OpenSSO but python-based.


Why not just implement a private OpenID server and only accept
identities from that domain?

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/

Reply

Thread Tools



All times are GMT -5. The time now is 01:04 AM.

Managed by Infnx Pvt Ltd.