├── .gitignore ├── LICENSE ├── README.md ├── client ├── .editorconfig ├── .gitignore ├── angular.json ├── eslint.config.js ├── package.json ├── proxy.conf.json ├── src │ ├── app │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.ts │ │ ├── app.routes.ts │ │ ├── auth.guard.ts │ │ ├── auth.service.ts │ │ ├── home │ │ │ ├── home.component.html │ │ │ └── home.component.ts │ │ ├── sign-in │ │ │ ├── sign-in.component.css │ │ │ ├── sign-in.component.html │ │ │ └── sign-in.component.ts │ │ ├── signup-okay │ │ │ ├── signup-okay.component.css │ │ │ ├── signup-okay.component.html │ │ │ └── signup-okay.component.ts │ │ ├── signup-secret │ │ │ ├── signup-secret.component.css │ │ │ ├── signup-secret.component.html │ │ │ └── signup-secret.component.ts │ │ ├── signup │ │ │ ├── signup.component.css │ │ │ ├── signup.component.html │ │ │ └── signup.component.ts │ │ ├── totp-additional-security │ │ │ ├── totp-additional-security.component.css │ │ │ ├── totp-additional-security.component.html │ │ │ └── totp-additional-security.component.ts │ │ └── totp │ │ │ ├── totp.component.css │ │ │ ├── totp.component.html │ │ │ └── totp.component.ts │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ └── styles.css ├── tsconfig.app.json └── tsconfig.json └── server ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src └── main ├── java └── ch │ └── rasc │ └── twofa │ ├── Application.java │ ├── ResourceConfig.java │ ├── db │ ├── DefaultCatalog.java │ ├── DefaultSchema.java │ ├── Keys.java │ └── tables │ │ ├── AppUser.java │ │ └── records │ │ └── AppUserRecord.java │ ├── migration │ └── V0002__initial_import.java │ └── security │ ├── AppUserAuthentication.java │ ├── AppUserDetail.java │ ├── AuthController.java │ ├── AuthenticationFlow.java │ ├── CustomTotp.java │ ├── SecurityConfig.java │ ├── SignupController.java │ └── SignupResponse.java └── resources ├── application.properties └── db └── migration └── V0001__initial.sql /.gitignore: -------------------------------------------------------------------------------- 1 | /.project 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/README.md -------------------------------------------------------------------------------- /client/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/.editorconfig -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | .idea/ 3 | dist/ 4 | /.angular/cache 5 | .DS_Store -------------------------------------------------------------------------------- /client/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/angular.json -------------------------------------------------------------------------------- /client/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/eslint.config.js -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/package.json -------------------------------------------------------------------------------- /client/proxy.conf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/proxy.conf.json -------------------------------------------------------------------------------- /client/src/app/app.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/app.component.css -------------------------------------------------------------------------------- /client/src/app/app.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/app.component.html -------------------------------------------------------------------------------- /client/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/app.component.ts -------------------------------------------------------------------------------- /client/src/app/app.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/app.routes.ts -------------------------------------------------------------------------------- /client/src/app/auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/auth.guard.ts -------------------------------------------------------------------------------- /client/src/app/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/auth.service.ts -------------------------------------------------------------------------------- /client/src/app/home/home.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/home/home.component.html -------------------------------------------------------------------------------- /client/src/app/home/home.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/home/home.component.ts -------------------------------------------------------------------------------- /client/src/app/sign-in/sign-in.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/sign-in/sign-in.component.css -------------------------------------------------------------------------------- /client/src/app/sign-in/sign-in.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/sign-in/sign-in.component.html -------------------------------------------------------------------------------- /client/src/app/sign-in/sign-in.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/sign-in/sign-in.component.ts -------------------------------------------------------------------------------- /client/src/app/signup-okay/signup-okay.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup-okay/signup-okay.component.css -------------------------------------------------------------------------------- /client/src/app/signup-okay/signup-okay.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup-okay/signup-okay.component.html -------------------------------------------------------------------------------- /client/src/app/signup-okay/signup-okay.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup-okay/signup-okay.component.ts -------------------------------------------------------------------------------- /client/src/app/signup-secret/signup-secret.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup-secret/signup-secret.component.css -------------------------------------------------------------------------------- /client/src/app/signup-secret/signup-secret.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup-secret/signup-secret.component.html -------------------------------------------------------------------------------- /client/src/app/signup-secret/signup-secret.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup-secret/signup-secret.component.ts -------------------------------------------------------------------------------- /client/src/app/signup/signup.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup/signup.component.css -------------------------------------------------------------------------------- /client/src/app/signup/signup.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup/signup.component.html -------------------------------------------------------------------------------- /client/src/app/signup/signup.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/signup/signup.component.ts -------------------------------------------------------------------------------- /client/src/app/totp-additional-security/totp-additional-security.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/totp-additional-security/totp-additional-security.component.css -------------------------------------------------------------------------------- /client/src/app/totp-additional-security/totp-additional-security.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/totp-additional-security/totp-additional-security.component.html -------------------------------------------------------------------------------- /client/src/app/totp-additional-security/totp-additional-security.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/totp-additional-security/totp-additional-security.component.ts -------------------------------------------------------------------------------- /client/src/app/totp/totp.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/totp/totp.component.css -------------------------------------------------------------------------------- /client/src/app/totp/totp.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/totp/totp.component.html -------------------------------------------------------------------------------- /client/src/app/totp/totp.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/app/totp/totp.component.ts -------------------------------------------------------------------------------- /client/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /client/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = {}; 2 | -------------------------------------------------------------------------------- /client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/favicon.ico -------------------------------------------------------------------------------- /client/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/index.html -------------------------------------------------------------------------------- /client/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/main.ts -------------------------------------------------------------------------------- /client/src/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/src/styles.css -------------------------------------------------------------------------------- /client/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/tsconfig.app.json -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/client/tsconfig.json -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/.gitignore -------------------------------------------------------------------------------- /server/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /server/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/mvnw -------------------------------------------------------------------------------- /server/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/mvnw.cmd -------------------------------------------------------------------------------- /server/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/pom.xml -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/Application.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/ResourceConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/ResourceConfig.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/db/DefaultCatalog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/db/DefaultCatalog.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/db/DefaultSchema.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/db/DefaultSchema.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/db/Keys.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/db/Keys.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/db/tables/AppUser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/db/tables/AppUser.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/db/tables/records/AppUserRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/db/tables/records/AppUserRecord.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/migration/V0002__initial_import.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/migration/V0002__initial_import.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/AppUserAuthentication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/AppUserAuthentication.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/AppUserDetail.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/AppUserDetail.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/AuthController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/AuthController.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/AuthenticationFlow.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/AuthenticationFlow.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/CustomTotp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/CustomTotp.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/SecurityConfig.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/SignupController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/SignupController.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/twofa/security/SignupResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/java/ch/rasc/twofa/security/SignupResponse.java -------------------------------------------------------------------------------- /server/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/resources/application.properties -------------------------------------------------------------------------------- /server/src/main/resources/db/migration/V0001__initial.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/springsecuritytotp/HEAD/server/src/main/resources/db/migration/V0001__initial.sql --------------------------------------------------------------------------------