3

I have been scratching my head for a while now. Went through tons of documentations but everything seems very confusing. Please forgive if it appears to be a duplicate question, but believe me, the more content I find, the more its confusing me.

Below is the configuration of my project and what I need to achieve:

The project is a web based application developed using Spring framework with Java 8 that is hosted on S3(linux server). HTTP server used is Apache. JBoss is used as an application server and the exact version used is wildfly-8.2.0.Final.

Currently, the user enters his credentials which are validated against Microsoft Active directory using LDAP and is let in. The requirement now is that when the user logs into the machine using his AD credentials in his intranet environment, and he tries to open the application, he should directly log in and not prompted for credentials again. If he is outside his intranet network, the existing log in method should be followed.

While researching I found the below things I assume can be useful but not able to reach to a conclusion.

Kerberos along with Shibolleth: I went through below two references which somewhat matched with my requirement but not very sure am I looking at the right thing or not. http://richardjohnson798.blogspot.in/2011/10/single-sign-on.html http://gfivo.ncl.ac.uk/documents/UsingKerberosticketsfortrueSingleSignOn.pdf

My confusion revolves around the below things. Is Shibolleth the right choice. If yes, what is the exact role of Shibboleth? What things needs to be setup on the linux server(Kerberos implementation for example), and what changes would be needed in the client's AD environment? Is the implementation possible on the Wildfly server? (as all the references have the thing implemented using Tomcat). What are the security aspects I should be concerned about.

Help is much appreciated. Thank you.

1 Answers1

2

Since you are using S3 I assume you are using AWS.

Go to IAM and add the Active Directory as a SAML provider https://aws.amazon.com/blogs/mobile/announcing-saml-support-for-amazon-cognito/

Then use AWS Cognito Federated Identity Pool via the JavaScript SDK in the front end code you have hosted on S3. http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html