Ruby SSO, CAS, oauth, userstore. What are my options?

Q: How to create SSO ? What would you do with authentication (a separate application or the same as sso) and user repository ?

Background Information:

We have 40+ php applications, java applications and Ruby applications.

We currently have a custom SSO + authentication solution. This is a php application that is now used as SSO, supporting email / username / phone number + password as authentication. It works, but only for a few applications, and was not originally intended for SSO - a solution. It does not have a convenient presentation, each application creates its own registration / registration forms and uses the API. They share the context, and we need a more universal design.

Now we know that we want to support Oauth and openid solutions, since facebook connect, google and much more (or are we really?), In addition to existing authentications. We can extend the existing php solution, but we are considering alternatives.

If you did all this in Ruby, what would you do?

Additional Information:

  • Today, all users exist in SSO.
    • A company sometimes acquires other companies / systems with its users. Could you transfer or create some kind of cartographer?
  • Clients are in Microsoft CRM, but I find this unrelated. Or me?
  • I carefully reviewed RubyCAS and ClassyCAS and don't know if they are suitable. Is this a CAS way?
  • Could you continue working with php? What would you use?

As you can see, I have a lot of questions. What would you suggest?

+6
source share
2 answers

In the previous work, we used Jasig CAS for SSO (several Java and Python applications). After overcoming some of the quirks in the configuration and my dislike of all Java stuff, it really worked pretty well. At that time, I found wiki to be a valuable resource, but things could change last year.

Authentication was performed through a separate application (user) using the OpenLDAP directory, which was previously initialized using a script that received user information from the AD server.

As for the real server, you might really want to use Jasig one, the IIRC is a reference implementation and is easy to configure using a Maven overlay .

+2
source
0
source

Source: https://habr.com/ru/post/885718/


All Articles