How to integrate Versa Director with OKTA SSO IDP


Okta IDP Integration with Versa Director

This is IDP/SP initiated SSO setup because we selected the “All" option in the “SSO Initiated filed” hence we can login into multiple applications from both either IDP (or) SP. (In this setup-only one Versa -Director application is present)

 

1.How to login using IDP initiated SSO

Step 1.1: Login into okta with your individual account credentials.

 

Graphical user interface, application Description automatically generated


On  the below setup only 3 users are present:

rajvandani.r@versa-networks.com(System User) ,tsa@gmail.com( Tenant User), rashi@gmail.com(Tenant User)



Step 1.2 : Go to My Settings > Work >Application(In this case Versa Director)

After clicking on the specific application you will be redirected to a specific application without giving credentials one more time.

 

Graphical user interface, text, application, Word Description automatically generated

 

Graphical user interface, application, Word Description automatically generated

 

Graphical user interface, text, application, email Description automatically generated

2.  How to login using SP initiated SSO

Step 2.1Use Versa Director URL and click on“Login with Single Sign-ON”




Graphical user interface Description automatically generated


  User will be then redirected to okta login page , Enter your credentials and then you will be redirected to the application (Versa-Director)

 

Graphical user interface, application Description automatically generated

                            Graphical user interface, text, application, email Description automatically generated

3. Difference between Sign-out type: Local and IDP

 Local: If any user logout from application and  sign-out type “local” is set then still IDP(okta) session will be there and user can login again with the existing session without entering the credentials again.

 IDP: If any user logout from the application and sign-out type “IDP” is set then IDP session also gets logout and user need to login again and enter credentials again.

 

4. Troubleshooting 

4.1: After login by IDP/SP,if we are getting the below error, then we need to make sure VD Clock is in sync with standard time.

For example : 

admin@Rajvandani-VD-01:~$ sudo date +%T -s "21:58">>>>>command to change clock time on VD.


A computer screen capture Description automatically generated with medium confidence

                     

                

admin@Rajvandani-VD-01:.../vnms/spring-boot$ cat vnms spring-rest.log vnms spring-boot.log

[28-Oct-2021 19:26:21.080][ERROR][https-jsse-nio-9183-exec2][com.versa.vnms.core.sso.saml.SAMLLoginResponseParser] Exception while validating response

java.lang.Exception: Timing issues. Possible reasons include: SAML expired, service's clock setting is not UTC.

     at com.versa.vnms.core.sso.saml.SAMLLoginResponseParser.isValid(SAMLLoginResponseParser.java:120)



 4.2: Not able to change the Sign-out   type to IDP from local.

Administrator@Rajvandani-VD-01% show system sso

settings {

     default-idp-connector   Okta-SSO;

     is-single-idp-connector false;

}

idp-connector Okta-SSO {

    idpname                  OKTA;

    sso-type                 saml;

     single-signon-url         https://dev-37229589.okta.com/app/dev-37229589_rajvandaniversadirectorprimarysystemusers_1/exk2dgtz43MryCAvY5d7/sso/saml;

    single-signout-url       https://dev-37229589.okta.com/app/dev-37229589_rajvandaniversadirectorprimarysystemusers_1/exk2dgtz43MryCAvY5d7/slo/saml;

     idp-entity-id             http://www.okta.com/exk2dgtz43MryCAvY5d7;

     idp-certificate           "MIIDqDCCApCgAwIBAgIGAXy3tiIAMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEG\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi0zNzIyOTU4OTEcMBoGCSqGSIb3DQEJ\nARYNaW5mb0Bva3RhLmNvbTAeFw0yMTEwMjUxMzQ3NTlaFw0zMTEwMjUxMzQ4NTlaMIGUMQswCQYD\nVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsG\nA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi0zNzIyOTU4OTEc\nMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBAJIrIgE3bSFQSGN7LpDi15bwappoXCs2Loa8wFm11/VoWUA2Septv1wivT0ELeeevupPejJI\nTKcez7ePuPVQcA52BBVymeQyTYLO0S0i9iQxq/6AeAJyx1/a/ibq/9VrnuzRmiqlQoym60m4GF5u\nzysuW+umzzOnllAVNXdb9fdgYnTxtp0IJzINOXyaN3DcyGn/ulNtLzgczRhKaIJwv+OXZziS2TMt\nQqVUpbFRVOiRGrH3FfFLuhmf15eFBcjnzX0bVxCuYz5n1NSLatWFJ6CqAAj2pK7E/XwKsmhHVSga\nlSUIoI30SSgZX9dPSVle87tjBPSXTvs0Lb0MkVwfKikCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\nR/ZQM7ouTp6v4DEf9epFSDE2alKT1fZddHhQ+FtSXJ1rM72Pa72QutzZrjDYyNP1HrYRmieicwgM\nMZICQxyZIAXxtNWkYAtRjQXPwrMXoQNB+itEpI6//PNIYXQGI/BwH+Z9B6YJgXMVcJEfrY/Fta0+\nMbFmGdqEBaNTe2DJtQc1uAiWee00xrXzhQ9KxCk3eCjD0PUs+PIzPtfpBStKg3hbFVK9k0wjiMsM\nSxDO5NfYHC6g24anbhinHoQUqwEPglDnx4uk6mj0S6LVvlxZsvow4QMxrK7P79THdmFJ228erzlf\nMpNBjvxUlxdsUsnQRyZRfujFYqIQOVcnX2eK6w==";

     sp-entity-id             http://versa-networks.com/sp;

     auth-context-comparision exact;

     sp-certificate            "-----BEGIN CERTIFICATE-----\nMIIC1DCCAj2gAwIBAgIJAKqSwloKn2scMA0GCSqGSIb3DQEBCwUAMIGCMRcwFQYD\nVQQDDA52ZXJzYS1kaXJlY3RvcjEXMBUGA1UECgwOdmVyc2EtbmV0d29ya3MxFjAU\nBgNVBAsMDVZlcnNhRGlyZWN0b3IxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxp\nZm9ybmlhMRQwEgYDVQQHDAtTYW50YSBDbGFyYTAeFw0yMTA2MDQyMjEyNTJaFw0y\nMjA2MDQyMjEyNTJaMIGCMRcwFQYDVQQDDA52ZXJzYS1kaXJlY3RvcjEXMBUGA1UE\nCgwOdmVyc2EtbmV0d29ya3MxFjAUBgNVBAsMDVZlcnNhRGlyZWN0b3IxCzAJBgNV\nBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRQwEgYDVQQHDAtTYW50YSBDbGFy\nYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAy8HApp3Ue0g4H/ZTotUlMT5P\nxmMbmD6UkGF/Y8eBmC9/6NIZ+quCIYZo/fymw3eXc1LnoSh2SItL8MEIrE3R8niz\nfet3ggbQfZXlnNIwrtdz8rbSk6w9llTw++bc2KZ37svLxVqf5S0ormvBJdRqXJrr\naR5hy1M1ib/uEqJEDgkCAwEAAaNQME4wHQYDVR0OBBYEFD33AY73fQga73qKzguG\nytddFM2MMB8GA1UdIwQYMBaAFD33AY73fQga73qKzguGytddFM2MMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADgYEAlB9LfX61fUqeUnhzqEP3vjuykLPqR1aY\nxe4IpqomsPKaKcHcX/79p3G3gQxsWEz01SPvHBX3+yxWqpK3Y/Ognvv9PGYC+Jn2\nHF9srmGVpFyOWMsilVFAMm0lEc46caNMXpns8CQGCuSmFJ1Pk+QmRUJy+599Ip2J\nvW+0z/1g4uc=\n-----END CERTIFICATE-----";

     sso-acs-url               https://10.192.126.81/versa/sso/loginConsumer;

     slo-acs-url               https://10.192.126.81/versa/sso/logoutConsumer;

    saml-client vd-ui {

         ui-login-consumer   https://10.192.126.81/versa/sso/consumer;

         ui-logout-consumer https://10.192.126.81/versa/sso/consumer;

    }

    is-enabled               true;

     sso-initiated-type       all;

     signout-type             idp;

    email                    email;

    role                     role;

    org                      org;

     idle-time-out             IdleTimeOut;

}

[ok][2021-10-31 13:38:16]

5. How to add application in okta 

Step 5.1: Go to Applications > Create App Integration


Graphical user interface, application, email Description automatically generated

 

Step 5.2 : Select SAML2.0


Graphical user interface, text, application Description automatically generated


Step 5.3: Enter the Application name 


Graphical user interface, application Description automatically generated 


Step 5.4 : Configure SAML setting as given below 

Default Relay State: Per application, we can set only one relay state 

If the customer want IDP initiated SSO for system users, then the relay state is vd-ui::system. If it is for tenant users, then the relay state is vd-ui::{Tenant Name}. 

 

Graphical user interface, application Description automatically generated 


Example of SAML settings

  

Graphical user interface, text, application Description automatically generated

 

Graphical user interface, application, table Description automatically generated

 

Step 5.5 : Complete Feedback 

 

A screenshot of a computer Description automatically generated


Step 5.6: How to add a new user 

 

Graphical user interface, application Description automatically generated


7: How to assign user authentication to an application 

 

Graphical user interface, application, Word Description automatically generated

 

Graphical user interface, application, Word Description automatically generated

 


Graphical user interface, application, Word Description automatically generated


Example of system user :


Graphical user interface, text, application Description automatically generated

 

Note: For "SAML" Type - Okta, SSO cert expiring under the path "/var/versa/vnms/data/certs/vnms_sso_public.crt" should not impact the functionality of the SSO Login.