├── .gitignore ├── .travis.yml ├── Dockerfile ├── LICENSE ├── README.md ├── app ├── config │ ├── AuthThingieConfig.scala │ └── DuoSecurityConfig.scala ├── controllers │ ├── AuthController.scala │ ├── HomeController.scala │ └── LoginController.scala ├── filters │ └── ConfigValidFilter.scala ├── modules │ └── AuthThingieLoader.scala ├── services │ ├── decoding │ │ ├── RequestDecoder.scala │ │ └── RequestInfo.scala │ ├── duo │ │ ├── DuoAsyncActor.scala │ │ ├── DuoWebAuth.scala │ │ └── WebAuthModels.scala │ ├── hmac │ │ └── HmacUtils.scala │ ├── ruleresolving │ │ └── RuleResolver.scala │ ├── rules │ │ ├── PathMatcher.scala │ │ └── PathRule.scala │ ├── totp │ │ ├── QrUtil.scala │ │ └── TotpUtil.scala │ ├── users │ │ ├── User.scala │ │ └── UserMatcher.scala │ └── validator │ │ ├── HashAlgorithm.scala │ │ └── HashValidator.scala ├── util │ ├── CallImplicits.scala │ ├── GenerateTotp.scala │ ├── RichDuration.scala │ └── SessionImplicits.scala └── views │ ├── config_errors.scala.html │ ├── denied.scala.html │ ├── duo.scala.html │ ├── index.scala.html │ ├── logged_out.scala.html │ ├── login.scala.html │ ├── login_needed.scala.html │ ├── main.scala.html │ └── totp.scala.html ├── conf ├── application.conf ├── logback.xml ├── messages └── routes ├── docker-compose.yaml ├── example ├── auththingie_config.conf └── traefik.toml ├── project ├── build.properties └── plugins.sbt ├── public ├── fonts │ ├── open-iconic.eot │ ├── open-iconic.otf │ ├── open-iconic.svg │ ├── open-iconic.ttf │ └── open-iconic.woff ├── images │ └── favicon.png ├── javascripts │ ├── duo_socket.js │ └── main.js └── stylesheets │ ├── bootstrap.css │ ├── main.css │ └── open-iconic-bootstrap.css ├── scripts └── generate_totp.sh └── test ├── controllers ├── AuthControllerSpec.scala ├── HomeControllerSpec.scala └── LoginControllerSpec.scala └── services ├── decoding └── RequestDecoderSpec.scala ├── duo ├── DuoAsyncAuthStatusSpec.scala └── DuoWebAuthSpec.scala ├── hmac └── HmacUtilsSpec.scala ├── ruleresolving └── RuleResolverSpec.scala ├── rules └── PathSpec.scala ├── totp └── TotpUtilSpec.scala ├── users └── UserSpec.scala └── validator └── HashValidatorSpec.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/.travis.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/README.md -------------------------------------------------------------------------------- /app/config/AuthThingieConfig.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/config/AuthThingieConfig.scala -------------------------------------------------------------------------------- /app/config/DuoSecurityConfig.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/config/DuoSecurityConfig.scala -------------------------------------------------------------------------------- /app/controllers/AuthController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/controllers/AuthController.scala -------------------------------------------------------------------------------- /app/controllers/HomeController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/controllers/HomeController.scala -------------------------------------------------------------------------------- /app/controllers/LoginController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/controllers/LoginController.scala -------------------------------------------------------------------------------- /app/filters/ConfigValidFilter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/filters/ConfigValidFilter.scala -------------------------------------------------------------------------------- /app/modules/AuthThingieLoader.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/modules/AuthThingieLoader.scala -------------------------------------------------------------------------------- /app/services/decoding/RequestDecoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/decoding/RequestDecoder.scala -------------------------------------------------------------------------------- /app/services/decoding/RequestInfo.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/decoding/RequestInfo.scala -------------------------------------------------------------------------------- /app/services/duo/DuoAsyncActor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/duo/DuoAsyncActor.scala -------------------------------------------------------------------------------- /app/services/duo/DuoWebAuth.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/duo/DuoWebAuth.scala -------------------------------------------------------------------------------- /app/services/duo/WebAuthModels.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/duo/WebAuthModels.scala -------------------------------------------------------------------------------- /app/services/hmac/HmacUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/hmac/HmacUtils.scala -------------------------------------------------------------------------------- /app/services/ruleresolving/RuleResolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/ruleresolving/RuleResolver.scala -------------------------------------------------------------------------------- /app/services/rules/PathMatcher.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/rules/PathMatcher.scala -------------------------------------------------------------------------------- /app/services/rules/PathRule.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/rules/PathRule.scala -------------------------------------------------------------------------------- /app/services/totp/QrUtil.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/totp/QrUtil.scala -------------------------------------------------------------------------------- /app/services/totp/TotpUtil.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/totp/TotpUtil.scala -------------------------------------------------------------------------------- /app/services/users/User.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/users/User.scala -------------------------------------------------------------------------------- /app/services/users/UserMatcher.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/users/UserMatcher.scala -------------------------------------------------------------------------------- /app/services/validator/HashAlgorithm.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/validator/HashAlgorithm.scala -------------------------------------------------------------------------------- /app/services/validator/HashValidator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/services/validator/HashValidator.scala -------------------------------------------------------------------------------- /app/util/CallImplicits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/util/CallImplicits.scala -------------------------------------------------------------------------------- /app/util/GenerateTotp.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/util/GenerateTotp.scala -------------------------------------------------------------------------------- /app/util/RichDuration.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/util/RichDuration.scala -------------------------------------------------------------------------------- /app/util/SessionImplicits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/util/SessionImplicits.scala -------------------------------------------------------------------------------- /app/views/config_errors.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/config_errors.scala.html -------------------------------------------------------------------------------- /app/views/denied.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/denied.scala.html -------------------------------------------------------------------------------- /app/views/duo.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/duo.scala.html -------------------------------------------------------------------------------- /app/views/index.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/index.scala.html -------------------------------------------------------------------------------- /app/views/logged_out.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/logged_out.scala.html -------------------------------------------------------------------------------- /app/views/login.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/login.scala.html -------------------------------------------------------------------------------- /app/views/login_needed.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/login_needed.scala.html -------------------------------------------------------------------------------- /app/views/main.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/main.scala.html -------------------------------------------------------------------------------- /app/views/totp.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/app/views/totp.scala.html -------------------------------------------------------------------------------- /conf/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/conf/application.conf -------------------------------------------------------------------------------- /conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/conf/logback.xml -------------------------------------------------------------------------------- /conf/messages: -------------------------------------------------------------------------------- 1 | # https://www.playframework.com/documentation/latest/ScalaI18N 2 | -------------------------------------------------------------------------------- /conf/routes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/conf/routes -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /example/auththingie_config.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/example/auththingie_config.conf -------------------------------------------------------------------------------- /example/traefik.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/example/traefik.toml -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.8.2 2 | 3 | 4 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /public/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/fonts/open-iconic.eot -------------------------------------------------------------------------------- /public/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/fonts/open-iconic.otf -------------------------------------------------------------------------------- /public/fonts/open-iconic.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/fonts/open-iconic.svg -------------------------------------------------------------------------------- /public/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /public/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/fonts/open-iconic.woff -------------------------------------------------------------------------------- /public/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/images/favicon.png -------------------------------------------------------------------------------- /public/javascripts/duo_socket.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/javascripts/duo_socket.js -------------------------------------------------------------------------------- /public/javascripts/main.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/stylesheets/bootstrap.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/stylesheets/bootstrap.css -------------------------------------------------------------------------------- /public/stylesheets/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/stylesheets/main.css -------------------------------------------------------------------------------- /public/stylesheets/open-iconic-bootstrap.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/public/stylesheets/open-iconic-bootstrap.css -------------------------------------------------------------------------------- /scripts/generate_totp.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/scripts/generate_totp.sh -------------------------------------------------------------------------------- /test/controllers/AuthControllerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/controllers/AuthControllerSpec.scala -------------------------------------------------------------------------------- /test/controllers/HomeControllerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/controllers/HomeControllerSpec.scala -------------------------------------------------------------------------------- /test/controllers/LoginControllerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/controllers/LoginControllerSpec.scala -------------------------------------------------------------------------------- /test/services/decoding/RequestDecoderSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/decoding/RequestDecoderSpec.scala -------------------------------------------------------------------------------- /test/services/duo/DuoAsyncAuthStatusSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/duo/DuoAsyncAuthStatusSpec.scala -------------------------------------------------------------------------------- /test/services/duo/DuoWebAuthSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/duo/DuoWebAuthSpec.scala -------------------------------------------------------------------------------- /test/services/hmac/HmacUtilsSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/hmac/HmacUtilsSpec.scala -------------------------------------------------------------------------------- /test/services/ruleresolving/RuleResolverSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/ruleresolving/RuleResolverSpec.scala -------------------------------------------------------------------------------- /test/services/rules/PathSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/rules/PathSpec.scala -------------------------------------------------------------------------------- /test/services/totp/TotpUtilSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/totp/TotpUtilSpec.scala -------------------------------------------------------------------------------- /test/services/users/UserSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/users/UserSpec.scala -------------------------------------------------------------------------------- /test/services/validator/HashValidatorSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LtHummus/AuthThingie/HEAD/test/services/validator/HashValidatorSpec.scala --------------------------------------------------------------------------------