Introduced a secure login flow using JWTs with dynamically generated RSA key pairs stored in the database. Updated relevant APIs, database schema, and services to support login codes, JWT encoding, and secret validation.
73 lines
2.0 KiB
Plaintext
73 lines
2.0 KiB
Plaintext
plugins {
|
|
java
|
|
id("org.springframework.boot") version "3.4.4"
|
|
id("io.spring.dependency-management") version "1.1.7"
|
|
}
|
|
|
|
group = "com.alttd.altitudeweb"
|
|
version = "0.0.1-SNAPSHOT"
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom(configurations.annotationProcessor.get())
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":open_api"))
|
|
implementation(project(":database"))
|
|
implementation(project(":frontend"))
|
|
implementation("org.springframework.boot:spring-boot-starter-web")
|
|
annotationProcessor("org.projectlombok:lombok")
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
|
implementation("com.mysql:mysql-connector-j:8.0.32")
|
|
implementation("org.mybatis:mybatis:3.5.13")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
implementation("org.springframework.boot:spring-boot-configuration-processor")
|
|
implementation("org.springframework.boot:spring-boot-starter-hateoas")
|
|
implementation("org.springframework.security:spring-security-oauth2-jose")
|
|
|
|
//AOP
|
|
implementation("org.aspectj:aspectjrt:1.9.19")
|
|
implementation("org.aspectj:aspectjweaver:1.9.19")
|
|
implementation("org.springframework:spring-aop")
|
|
implementation("org.springframework:spring-aspects")
|
|
|
|
}
|
|
|
|
tasks.compileJava {
|
|
dependsOn(":frontend:npmBuild")
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.bootJar {
|
|
mainClass.set("com.alttd.altitudeweb.AltitudeWebApplication")
|
|
archiveBaseName.set("altitudeweb")
|
|
archiveClassifier.set("")
|
|
}
|
|
|
|
tasks.processResources {
|
|
dependsOn("includeFrontend")
|
|
}
|
|
|
|
tasks.register<Copy>("includeFrontend") {
|
|
description = "Copy the built frontend to the Spring Boot static resources directory"
|
|
dependsOn(":frontend:npmBuild")
|
|
from("${project.rootDir}/frontend/dist")
|
|
into(layout.buildDirectory.dir("resources/main/static"))
|
|
doNotTrackState("Cannot reliably track state in the static directory")
|
|
}
|