How to setup initial user/role enabling SAML SSO
Asked Answered
S

2

9

We are a service provider. Suppose in our application, we originally have our own user/role management. Different users with different roles are allowed to use different features. So that when a user login we need to know which roles this user has, and prepare appropriate UI. We have administrator role, users with this role can assign roles to other users.

We are thinking of enabling SAML SSO for our application, now the problem is how do we setup roles for each user.

Solution 1, we relies on IdP to provide role information for each login user, the role information may come along with Assertion, but this may not work for all the IdPs.

Solution 2, we only retrieve user from the IdP, and manage the roles in our own application. For example, when we get an Assertion, we retrieve the username(or email address), and match with a record in our DB, if it doesn't exist we automatically create one for this new user. Then we rely on users with administrator role to assign correct role for this new user.

Now the questions is where is the first administrator coming from? Our customer gets our application, and turns on SAML SSO, now there is no users in the DB yet, then how can we resolve such bootstrapping issue? Is there any kinds of standard way? We have come up with different options but not sure which is better and what are the concerns for each options.

Option 1, have a default built-in administrator user. There is a regular native login page that built-in users can login without going through IdP(there is an option to turn it on/off if SAML SSO is enabled)

Option 2, during SAML SSO setup, ask for the administrator user name, so that we automatically create this user in our DB with administrator role. Then when this user login through IdP we could match him in our DB.

What are the other options?

Scaliger answered 6/5, 2013 at 1:27 Comment(0)
T
0

For your first question about who should handle the roles. As I understand every customer has your One of your service provider software. And it connects to a central IDP that you own. If this is the case, it feels like its to complex letting the administrators handle roles on your IDP. I would go for number two.

About question number two. I have been in the same situation I can not remember that I have seen a obvious standard solution for this.

What we did was option 2. It works fine but it adds some complexity to the install procedure. We choose it because we would not have a native login page. I thing maybe I would be better to go with option 1.

Textile answered 6/5, 2013 at 7:50 Comment(0)
M
0

You can get the roles from the different directories of your IDP using your authorization layer. It removes the constraints on SAML and gives the same results as your solution 1.

Mcnally answered 3/10, 2013 at 7:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.