Modernize admin UI and harden provider contracts

Adopt Web Awesome for consistent accessible controls while aligning production ASR, App Attest, and runtime dependency safeguards.
This commit is contained in:
Rocky
2026-08-17 21:07:18 +08:00
parent dcd77b86ca
commit 971b7e26c6
20 changed files with 687 additions and 73 deletions
@@ -84,7 +84,7 @@ data class AppConfig(
volcengine = VolcengineConfig(
endpoint = config.valueOrDefault(
"app.providers.volcengine.endpoint",
"wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async",
"wss://openspeech.bytedance.com/api/v3/sauc/bigmodel",
),
appId = config.optionalValue("app.providers.volcengine.appId"),
accessToken = config.optionalValue("app.providers.volcengine.accessToken"),
+1 -1
View File
@@ -54,7 +54,7 @@ app:
referralBindingDays: "$REFERRAL_BINDING_DAYS:7"
providers:
volcengine:
endpoint: "$VOLCENGINE_ASR_ENDPOINT:wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async"
endpoint: "$VOLCENGINE_ASR_ENDPOINT:wss://openspeech.bytedance.com/api/v3/sauc/bigmodel"
appId: "$VOLCENGINE_APP_ID:"
accessToken: "$VOLCENGINE_ACCESS_TOKEN:"
apiKey: "$VOLCENGINE_API_KEY:"
@@ -39,6 +39,28 @@ class DeploymentConsistencyTest : FunSpec({
openApi shouldContain "referralCode"
}
test("provider defaults and Apple integrity contract stay production compatible") {
val providerConfigurations = listOf(
root.read("src/main/kotlin/com/osglab/account/config/AppConfig.kt"),
root.read("src/main/resources/application.yaml"),
root.read(".env.example"),
root.read("compose.yaml"),
)
providerConfigurations.forEach { configuration ->
configuration shouldContain "wss://openspeech.bytedance.com/api/v3/sauc/bigmodel"
configuration shouldNotContain "bigmodel_async"
}
val openApi = root.read("docs/openapi.yaml")
openApi shouldContain "osg-app-attest-v1"
openApi shouldContain "purpose=apple-sign-in"
openApi shouldContain "identity_token_sha256=<identity-token-digest>"
openApi shouldContain "authorization_code_sha256=<authorization-code-digest>"
openApi shouldContain "nonce_sha256=<raw-nonce-digest>"
openApi shouldContain "including the final line feed"
openApi shouldContain "unpadded Base64URL"
}
test("production Compose reuses private MySQL and hardens the application container") {
val compose = root.read("compose.yaml")
@@ -84,7 +106,9 @@ class DeploymentConsistencyTest : FunSpec({
dockerfile shouldContain "http://127.0.0.1:8080/health/ready"
dockerfile shouldNotContain "ENTRYPOINT [\"sh\""
dockerfile shouldNotContain "jansi.tmpdir"
build shouldContain "configurations.configureEach"
build shouldContain "exclude(group = \"org.fusesource.jansi\", module = \"jansi\")"
build shouldContain "tasks.register(\"verifyRuntimeClasspath\")"
}
test("OpenResty proxies HTTP WebSocket invitations and both AASA paths safely") {