├── .gitignore ├── .project ├── LICENSE ├── README.md ├── client ├── .editorconfig ├── .gitignore ├── angular.json ├── eslint.config.js ├── ionic.config.json ├── package.json ├── proxy.conf.json ├── src │ ├── app │ │ ├── app.component.html │ │ ├── app.component.ts │ │ ├── app.routes.ts │ │ ├── auth.guard.ts │ │ ├── auth.service.ts │ │ ├── home │ │ │ ├── home.page.html │ │ │ ├── home.page.scss │ │ │ └── home.page.ts │ │ ├── login │ │ │ ├── login.page.html │ │ │ ├── login.page.scss │ │ │ └── login.page.ts │ │ ├── messages.service.ts │ │ └── registration │ │ │ ├── registration.page.html │ │ │ ├── registration.page.scss │ │ │ └── registration.page.ts │ ├── assets │ │ ├── favicon.png │ │ └── logo.png │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ ├── variables.scss │ └── zone-flags.ts ├── tsconfig.app.json └── tsconfig.json └── server ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── docker-compose.yml ├── generatejooq.bat ├── mvnw ├── mvnw.cmd ├── pom.xml └── src └── main ├── java └── ch │ └── rasc │ └── webauthn │ ├── AppProperties.java │ ├── Application.java │ ├── ResourceConfig.java │ ├── TestService.java │ ├── db │ ├── DefaultCatalog.java │ ├── Indexes.java │ ├── Keys.java │ ├── Tables.java │ ├── Webauthn.java │ └── tables │ │ ├── AppUser.java │ │ ├── Credentials.java │ │ └── records │ │ ├── AppUserRecord.java │ │ └── CredentialsRecord.java │ ├── security │ ├── AppUserAuthentication.java │ ├── AppUserDetail.java │ ├── AuthController.java │ ├── CleanupJob.java │ ├── JooqCredentialRepository.java │ ├── SecurityConfig.java │ └── dto │ │ ├── AssertionFinishRequest.java │ │ ├── AssertionStartResponse.java │ │ ├── RegistrationFinishRequest.java │ │ ├── RegistrationFinishResponse.java │ │ └── RegistrationStartResponse.java │ └── util │ ├── Base58.java │ └── BytesUtil.java └── resources ├── application.properties └── db └── migration └── V0001__initial.sql /.gitignore: -------------------------------------------------------------------------------- 1 | .project 2 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/.project -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/README.md -------------------------------------------------------------------------------- /client/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/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/webauthn-demo/HEAD/client/angular.json -------------------------------------------------------------------------------- /client/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/eslint.config.js -------------------------------------------------------------------------------- /client/ionic.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/ionic.config.json -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/package.json -------------------------------------------------------------------------------- /client/proxy.conf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/proxy.conf.json -------------------------------------------------------------------------------- /client/src/app/app.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/app.component.html -------------------------------------------------------------------------------- /client/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/app.component.ts -------------------------------------------------------------------------------- /client/src/app/app.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/app.routes.ts -------------------------------------------------------------------------------- /client/src/app/auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/auth.guard.ts -------------------------------------------------------------------------------- /client/src/app/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/auth.service.ts -------------------------------------------------------------------------------- /client/src/app/home/home.page.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/home/home.page.html -------------------------------------------------------------------------------- /client/src/app/home/home.page.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/home/home.page.scss -------------------------------------------------------------------------------- /client/src/app/home/home.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/home/home.page.ts -------------------------------------------------------------------------------- /client/src/app/login/login.page.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/login/login.page.html -------------------------------------------------------------------------------- /client/src/app/login/login.page.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/app/login/login.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/login/login.page.ts -------------------------------------------------------------------------------- /client/src/app/messages.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/messages.service.ts -------------------------------------------------------------------------------- /client/src/app/registration/registration.page.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/registration/registration.page.html -------------------------------------------------------------------------------- /client/src/app/registration/registration.page.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/registration/registration.page.scss -------------------------------------------------------------------------------- /client/src/app/registration/registration.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/app/registration/registration.page.ts -------------------------------------------------------------------------------- /client/src/assets/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/assets/favicon.png -------------------------------------------------------------------------------- /client/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/assets/logo.png -------------------------------------------------------------------------------- /client/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /client/src/environments/environment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/environments/environment.ts -------------------------------------------------------------------------------- /client/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/index.html -------------------------------------------------------------------------------- /client/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/main.ts -------------------------------------------------------------------------------- /client/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/polyfills.ts -------------------------------------------------------------------------------- /client/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/styles.scss -------------------------------------------------------------------------------- /client/src/variables.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/variables.scss -------------------------------------------------------------------------------- /client/src/zone-flags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/src/zone-flags.ts -------------------------------------------------------------------------------- /client/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/tsconfig.app.json -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/client/tsconfig.json -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/.gitignore -------------------------------------------------------------------------------- /server/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /server/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/docker-compose.yml -------------------------------------------------------------------------------- /server/generatejooq.bat: -------------------------------------------------------------------------------- 1 | .\mvnw.cmd generate-sources -Pjooq -------------------------------------------------------------------------------- /server/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/mvnw -------------------------------------------------------------------------------- /server/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/mvnw.cmd -------------------------------------------------------------------------------- /server/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/pom.xml -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/AppProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/AppProperties.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/Application.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/ResourceConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/ResourceConfig.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/TestService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/TestService.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/DefaultCatalog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/DefaultCatalog.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/Indexes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/Indexes.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/Keys.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/Keys.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/Tables.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/Tables.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/Webauthn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/Webauthn.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/tables/AppUser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/tables/AppUser.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/tables/Credentials.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/tables/Credentials.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/tables/records/AppUserRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/tables/records/AppUserRecord.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/db/tables/records/CredentialsRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/db/tables/records/CredentialsRecord.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/AppUserAuthentication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/AppUserAuthentication.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/AppUserDetail.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/AppUserDetail.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/AuthController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/AuthController.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/CleanupJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/CleanupJob.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/JooqCredentialRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/JooqCredentialRepository.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/SecurityConfig.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/dto/AssertionFinishRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/dto/AssertionFinishRequest.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/dto/AssertionStartResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/dto/AssertionStartResponse.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/dto/RegistrationFinishRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/dto/RegistrationFinishRequest.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/dto/RegistrationFinishResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/dto/RegistrationFinishResponse.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/security/dto/RegistrationStartResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/security/dto/RegistrationStartResponse.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/util/Base58.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/util/Base58.java -------------------------------------------------------------------------------- /server/src/main/java/ch/rasc/webauthn/util/BytesUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/java/ch/rasc/webauthn/util/BytesUtil.java -------------------------------------------------------------------------------- /server/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/resources/application.properties -------------------------------------------------------------------------------- /server/src/main/resources/db/migration/V0001__initial.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralscha/webauthn-demo/HEAD/server/src/main/resources/db/migration/V0001__initial.sql --------------------------------------------------------------------------------