...
Central AUTH Application Side
...
Set required Saml properties use information get from azure provider
Related to SAML Info
Needed To Update below details As per your credentials
Code Block #NeededToUpdate : Saml info update Start auth.holdingEntityId=spn:a74f37bd-de4d-4eb1-954d-445a2ca2a6e8 auth.assertingEntityId=https://sts.windows.net/j52c9ea1-7c21-47b1-82a3-33a74b1f9832/ auth.alias=ps-ad auth.samlLoginUrl=https://login.microsoftonline.com/j52c9ea1-7c21-47b1-82a3-33a74b1f9832/federationmetadata/2007-06/federationmetadata.xml?appid=a74f37bd-de4d-4eb1-954d-445a2ca2a6e8 #NeededToUpdate : Saml info update End
Related to SAML 2 Code - Same As Per Mention in Properties
Code Block spring.security.saml2.serviceProvider.alias=${auth.alias} spring.security.saml2.serviceProvider.signMetadata=false spring.security.saml2.serviceProvider.signRequests=false spring.security.saml2.serviceProvider.encryptAssertions=false spring.security.saml2.serviceProvider.singleLogoutEnabled=true spring.security.saml2.serviceProvider.wantAssertionsSigned=true spring.security.saml2.serviceProvider.entityId=${auth.holdingEntityId} spring.security.saml2.serviceProvider.basePath=${auth.baseUrl}${server.servlet.context-path} spring.security.saml2.serviceProvider.nameIds=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress spring.security.saml2.serviceProvider.keys.active.name=sp-signing-key-1 spring.security.saml2.serviceProvider.providers[0].alias=${auth.alias} spring.security.saml2.serviceProvider.providers[0].skipSslValidation=true spring.security.saml2.serviceProvider.providers[0].metadata=${auth.samlLoginUrl} spring.security.saml2.serviceProvider.providers[0].authenticationRequestBinding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST auth.samlMaxAuthenticationAgeMillis=604800000 auth.nameId=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress auth.logoutEmailQueryParam=email auth.loginCallback=${auth.baseUrl}${server.servlet.context-path}/saml/sp/discovery?idp=${auth.assertingEntityId} auth.logoutCallback=${auth.baseUrl}${server.servlet.context-path}/saml/sp/logout?${auth.logoutEmailQueryParam}=%s auth.defaultRedirectToAfterLogout=${auth.baseUrl}${server.servlet.context-path}/hello auth.defaultRedirectToAfterLogin=${auth.baseUiUrl}/login/status auth.loginSuccessPageFormat=${auth.baseUiUrl}/status?authToken=%s
...
Used Below SAML Dependency in Project
Code Block |
---|
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>2.0.0.M31</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-impl</artifactId>
<version>3.2.0</version>
</dependency> |
...
SAML login From UI - it will redirect to Microsoft login page and validate Username/Password internally and give response mention URL endpoint as per properties file and return call back URL
...
Parse SAML XML response