Implementing SSO with Play 2.5.x


(Nikhil) #1

I need to implement SSO for my webapp (Play 2.5.x + Scala) so that my customers can use their own IdP for authentication but can access my webapp via SSO. I think the integration is going to be either SAML or OpenID based. Any suggestions on how should I proceed ?


(Patrick Li) #2

I have implemented SAML and with Play before it works well. I used opensaml, and I think you just need to pay attention to make sure you don’t have any blocking calls.


(Nikhil) #3

Are there any libraries available with Play (I am using Scala) which perform SAML data interchange (including the parsing of XML) ?


(Patrick Li) #4

I don’t know if there are anything specifically for Play, and Scala for that matter. I use Java. I have seen people talk about pac4j (and I think it has a Play module), but that is Java I think, and the last time I checked, it had some blocking calls because it was based on the servlet spec, things might have changed since, so maybe check that out. I used opensaml for the SAML processing part, and did the HTTP part myself.


(Nikhil) #5

Thanks Patrick. Would look at opensaml.


(Rick Bueker) #6

We use https://github.com/pac4j/play-pac4j with Play 2.5 + Scala for SAML SSO. It also supports OpenId and others.

It has been a huge time saver! I can’t recommend it enough.

You can also checkout https://groups.google.com/forum/m/#!forum/pac4j-users to see what types of questions and issues people have.


(Nikhil) #7

Thanks Rick. Looking at the pac4j lib. I am going to give it a try. Might have questions do will come back.