Skip to content

Play framework based Silhouette sample application using multi-project SBT configuration and web and API authentication

License

Notifications You must be signed in to change notification settings

pawank/play-silhouette-mongodb-multi-project-sbt

Repository files navigation

Sample application

Frameworks and libraries used

Playframework 2.4
Silhouette 3.0
Mongodb 2.6

How to run the application?

Mongodb should be running at host (mongodb) at port 27017.
Add 127.0.0.1 (for ubuntu/linux) and 192.168.99.100 (or docker IP for docker mac osx) in /etc/hosts as follows:
127.0.0.1 mongodb

Add hostname / IP mapping in /etc/hosts to access applications using hostname -
127.0.0.1 sample.com
127.0.0.1 www.sample.com
127.0.0.1 admin.sample.com

SBT jar is made available inside scripts folder,

mkdir -p ~/.sbt/launchers/0.13.8/
cp scripts/sbt-launch.jar ~/.sbt/launchers/0.13.8/
chmod a+x scripts/sbt
./scripts/sbt

Inside SBT prompt,
$update $compile

You can view all sub-projects using projects command in sbt prompt.
Run individul projects at different ports as follows:
$project web
$run -Dhttp.port=9000

Admin/API using Silhouette over REST for authentication,
$project admin
$run -Dhttp.port=10000

You can access at www.sample.com:9000 and admin.sample.com:10000.

Test API authentication

curl -X POST http://localhost:9000/api/auth/signin/credentials -H 'Content-Type: application/json' -d '{"identifier": "test@test.com", "password": "password"}' -v

curl -X GET http://localhost:9000/api/test -H 'X-Auth-Token:2-LKNBVqdpfkm6LvfLsmlKdmZ5A9KANU6QSGMZRKB+GwcTqEmZanHeefvTWC+PiNu+8veKsP3udgHZEs5oF25+w2ojUVRzPXgTvB9KJiVcwE22MG6W5WXg97u4OyLvTs+5AV1Z0nnEiJB/c4HWxYm+U2imOiCLhKLzgxwCaX47u4jCj9EMJshylc6rQ7Zx6pSjRs757GxaeW2FUE7chS6hl1+koX4PrgoUhaYGr4jm7MZJrf3GdUL2PqyvHU1SGtn8TWdMDN/8Olw7t4Zce+PdeoNYMCkI5l8CYVPY2c1qpgaQmDZqQMpQkzff8c7NJ46nVsh6IIY2a4I0CZWtF9f90L5LzYsnY0qE4iOKWlqSmq+ye2/nNhaL7RWm/HWwDHhXFs3UVglU8Xtlpa8YYmmcs9XoXS94qGeFFssfDCkajsRno2ZL+dWXMMWo1GqWxCVdaNtextWPq/R+k3a+g0Hu3vl31firc7Hbq6Z7fi0UixppuzjD6vuBEeXhqwIGzBf2KEtUKbHoZMJFHDsCNHtetOfTa3jGS3FzHl83407b/m8eIpwOGfbA1xT9/YdpdYZHa0wM3f4U2s1Ack6F4AklGAFS5huBvwDVlEUnfSO04CbIxO4h7rNcer2xbROpvagDy19h1Do0zNtac+/e4Ks3GtRDFld2Fw==' -v

Reference

It is highly recommended to go through the below tutorials to better understand the overall structure of the application and its usage.

Silhouette examples [http://silhouette.mohiva.com/docs/examples]
Play Silhouette reactivemongo [https://github.com/ezzahraoui/play-silhouette-reactivemongo-seed]
Silhouette REST seed project [https://github.com/datalek/silhouette-rest-seed]
Multidomain SBT project [https://github.com/adrianhurt/play-multidomain-seed]

About

Play framework based Silhouette sample application using multi-project SBT configuration and web and API authentication

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published