Silhouette is an authentication library for Play Framework applications that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, 2FA, TOTP, Credentials, Basic Authentication or custom authentication schemes.

Silhouette

Scala CI Coverage Status Discord Gitter

Module Scala 2.13.x Scala 2.12.x
play-silhouette Maven Central Maven Central
play-silhouette-cas Maven Central Maven Central
play-silhouette-crypto-jca Maven Central Maven Central
play-silhouette-password-argon2 Maven Central Maven Central
play-silhouette-password-bcrypt Maven Central Maven Central
play-silhouette-persistence Maven Central Maven Central
play-silhouette-totp Maven Central Maven Central
play-silhouette-testkit Maven Central Maven Central

Silhouette is an authentication library for Play Framework applications that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, Credentials, Basic Authentication, Two Factor Authentication or custom authentication schemes.

See the project documentation for more information.

Installation

Latest Production Versions

To get the latest production release(s) from this repository, add the following to your project's build.sbt file, replacing x.x.x (>= 7.0.1) with the play-silhouette version of choice:

libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-cas" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-crypto-jca" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-password-argon2" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-password-bcrypt" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-persistence" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-totp" % "x.x.x"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-testkit" % "x.x.x" % Test

Latest Snapshot Versions

This fork of play-silhouette shall also be releasing SNAPSHOTS of the latest passed builds which can be used for the latest, bleeding-edge features, patches and code fixes prior to official production releases. If you want to pull these for testing with your code in development environments, please ensure that you add the appropriate resolver below, and select the appropriate version with x.x.x (>= 7.0.1).

resolvers += "snapshots" at "https://s01.oss.sonatype.org/content/repositories/snapshots/"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-cas" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-crypto-jca" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-password-argon2" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-password-bcrypt" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-persistence" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-totp" % "x.x.x-SNAPSHOT"
libraryDependencies += "io.github.honeycomb-cheesecake" %% "play-silhouette-testkit" % "x.x.x-SNAPSHOT" % Test

Support

If you have question regarding Silhouette, please use the chat. Please do not use the issue tracker for questions!

Contribution

Please read the contributing guide before you contribute. It contains very useful tips for a successful contribution.

License

The code is licensed under Apache License v2.0 and the documentation under CC BY 3.0.

This repository started life as a fork from the main repository but now exists as it's own project. Thank you very much to previous maintainer Christian Kaps (@akkie) and all contributors for the work you've done to bring us to this point. This library was made fantastic and we are looking to continue along the path you set for us.