Skip to content

Commit b3f61fd

Browse files
NFC-118 Switch request/response JSON fields to camelCase and unify mobile auth error layout
Signed-off-by: Sander Kondratjev <sander.kondratjev@nortal.com>
1 parent 4ac66e8 commit b3f61fd

File tree

7 files changed

+28
-19
lines changed

7 files changed

+28
-19
lines changed

example/src/main/java/eu/webeid/example/security/WebEidMobileAuthInitFilter.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,8 @@
2323
package eu.webeid.example.security;
2424

2525
import com.fasterxml.jackson.annotation.JsonInclude;
26-
import com.fasterxml.jackson.annotation.JsonProperty;
2726
import com.fasterxml.jackson.databind.ObjectMapper;
2827
import com.fasterxml.jackson.databind.ObjectWriter;
29-
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
30-
import com.fasterxml.jackson.databind.annotation.JsonNaming;
3128
import eu.webeid.example.config.WebEidMobileProperties;
3229
import eu.webeid.security.challenge.ChallengeNonceGenerator;
3330
import jakarta.servlet.FilterChain;
@@ -97,15 +94,13 @@ private String getAuthUri(String encodedPayload) {
9794
return builder.fragment(encodedPayload).toUriString();
9895
}
9996

100-
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
10197
@JsonInclude(JsonInclude.Include.NON_NULL)
10298
record AuthPayload(
10399
String challenge,
104100
String loginUri,
105101
Boolean getSigningCertificate) {
106102
}
107103

108-
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
109-
record AuthUri(@JsonProperty("auth_uri") String authUri) {
104+
record AuthUri(String authUri) {
110105
}
111106
}

example/src/main/java/eu/webeid/example/service/MobileSigningService.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
import com.fasterxml.jackson.annotation.JsonInclude;
2626
import com.fasterxml.jackson.databind.ObjectMapper;
2727
import com.fasterxml.jackson.databind.ObjectWriter;
28-
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
29-
import com.fasterxml.jackson.databind.annotation.JsonNaming;
3028
import eu.webeid.example.config.WebEidMobileProperties;
3129
import eu.webeid.example.security.WebEidAuthentication;
3230
import eu.webeid.example.service.dto.CertificateDTO;
@@ -131,13 +129,11 @@ private List<SignatureAlgorithmDTO> mapSupportedAlgorithms(List<SupportedSignatu
131129
}).toList();
132130
}
133131

134-
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
135132
public record MobileInitRequest(
136133
String requestUri
137134
) {
138135
}
139136

140-
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
141137
@JsonInclude(JsonInclude.Include.NON_NULL)
142138
record RequestObject(
143139
String responseUri,

example/src/main/java/eu/webeid/example/service/SigningService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public DigestDTO prepareContainer(CertificateDTO certificateDTO, WebEidAuthentic
116116

117117
final DataToSign dataToSign = SignatureBuilder
118118
.aSignature(containerToSign)
119-
.withSignatureProfile(SignatureProfile.LT) // AIA OCSP is supported for signatures with LT or LTA profile.
119+
.withSignatureProfile(SignatureProfile.T) // AIA OCSP is supported for signatures with LT or LTA profile.
120120
.withSigningCertificate(certificate)
121121
.withSignatureDigestAlgorithm(signatureDigestAlgorithm)
122122
.buildDataToSign();

example/src/main/resources/templates/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -527,8 +527,8 @@ <h4 class="accordion-header" id="headingDocumentationMobile">
527527
});
528528

529529
await checkHttpError(resp);
530-
const { auth_uri } = await resp.json();
531-
window.location.href = auth_uri;
530+
const { authUri } = await resp.json();
531+
window.location.href = authUri;
532532
} catch (error) {
533533
showErrorMessage(error);
534534
throw error;

example/src/main/resources/templates/webeid-callback.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ <h2>Completing signing…</h2>
5757

5858
const result = await response.json();
5959
if (endpoint.endsWith("/certificate")) {
60-
const { request_uri } = result;
61-
window.location.replace(request_uri);
60+
const { requestUri } = result;
61+
window.location.replace(requestUri);
6262
return;
6363
}
6464

example/src/main/resources/templates/webeid-login.html

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,26 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1" />
56
<title>Signing you in…</title>
67
<link rel="stylesheet" href="/css/bootstrap.min.css" />
78
<link rel="stylesheet" href="/css/main.css" />
89
</head>
9-
<body>
10+
<body class="loading-page">
11+
<div id="spinner-message">
12+
<h2>Signing you in…</h2>
13+
<div class="spinner"></div>
14+
</div>
15+
1016
<div id="error-message" class="alert alert-danger" style="display: none" role="alert">
1117
<div class="message"></div>
1218
<pre class="details"></pre>
1319
</div>
1420

21+
<p class="text-center p-4" style="display: none" id="error-actions">
22+
<button id="back-button" class="btn btn-primary">Back</button>
23+
</p>
24+
1525
<script type="module" th:inline="javascript">
1626
import { showErrorMessage, checkHttpError } from "/js/errors.js";
1727
import { parsePayload } from "/js/payload.js";
@@ -20,7 +30,7 @@
2030
// top-level await is not supported in some mobile browsers/WebViews.
2131
(async function () {
2232
const payload = parsePayload("Authentication");
23-
const authToken = payload["auth_token"];
33+
const authToken = payload["authToken"];
2434
const response = await fetch(/*[[${loginProcessingPath}]]*/, {
2535
method: "POST",
2636
headers: {
@@ -36,6 +46,14 @@
3646
})().catch((error) => {
3747
console.error(error);
3848
showErrorMessage(error);
49+
document.getElementById("spinner-message").style.display = "none";
50+
51+
const actions = document.getElementById("error-actions");
52+
actions.style.display = "block";
53+
54+
document.getElementById("back-button").addEventListener("click", () => {
55+
window.location.replace("/");
56+
});
3957
});
4058
</script>
4159
</body>

example/src/main/resources/templates/welcome.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ <h2 class="adding-signature">Digital signing</h2>
9595
});
9696

9797
await checkHttpError(initMobileSignResponse);
98-
const { request_uri } = await initMobileSignResponse.json();
99-
window.location.href = request_uri;
98+
const { requestUri } = await initMobileSignResponse.json();
99+
window.location.href = requestUri;
100100
} else {
101101
const { certificate, supportedSignatureAlgorithms } = await webeid.getSigningCertificate({
102102
lang

0 commit comments

Comments
 (0)