summaryrefslogtreecommitdiff
path: root/packages/bank-ui/src/Routing.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/bank-ui/src/Routing.tsx')
-rw-r--r--packages/bank-ui/src/Routing.tsx24
1 files changed, 17 insertions, 7 deletions
diff --git a/packages/bank-ui/src/Routing.tsx b/packages/bank-ui/src/Routing.tsx
index 3ec5f0c77..380b267a2 100644
--- a/packages/bank-ui/src/Routing.tsx
+++ b/packages/bank-ui/src/Routing.tsx
@@ -31,6 +31,7 @@ import {
HttpStatusCode,
TranslatedString,
assertUnreachable,
+ createRFC8959AccessTokenEncoded
} from "@gnu-taler/taler-util";
import { useEffect } from "preact/hooks";
import { useSessionState } from "./hooks/session.js";
@@ -84,7 +85,7 @@ const publicPages = {
register: urlPattern(/\/register/, () => "#/register"),
publicAccounts: urlPattern(/\/public-accounts/, () => "#/public-accounts"),
operationDetails: urlPattern<{ wopid: string }>(
- /\/operation\/(?<wopid>[a-zA-Z0-9]+)/,
+ /\/operation\/(?<wopid>[a-zA-Z0-9-]+)/,
({ wopid }) => `#/operation/${wopid}`,
),
solveSecondFactor: urlPattern(/\/2fa/, () => "#/2fa"),
@@ -113,13 +114,15 @@ function PublicRounting({
async function doAutomaticLogin(username: string, password: string) {
await handleError(async () => {
- const resp = await lib.auth(username).createAccessTokenBasic(username, password, {
- scope: "readwrite",
- duration: { d_us: "forever" },
- refreshable: true,
- });
+ const resp = await lib
+ .auth(username)
+ .createAccessTokenBasic(username, password, {
+ scope: "readwrite",
+ duration: { d_us: "forever" },
+ refreshable: true,
+ });
if (resp.type === "ok") {
- onLoggedUser(username, resp.body.access_token);
+ onLoggedUser(username, createRFC8959AccessTokenEncoded(resp.body.access_token));
} else {
switch (resp.case) {
case HttpStatusCode.Unauthorized:
@@ -392,6 +395,9 @@ function PrivateRouting({
routeMyAccountDetails={privatePages.myAccountDetails}
routeMyAccountPassword={privatePages.myAccountPassword}
routeConversionConfig={privatePages.conversionConfig}
+ onCashout={() =>
+ navigateTo(privatePages.home.url({}))
+ }
onAuthorizationRequired={() =>
navigateTo(privatePages.solveSecondFactor.url({}))
}
@@ -459,6 +465,9 @@ function PrivateRouting({
routeMyAccountDetails={privatePages.myAccountDetails}
routeMyAccountPassword={privatePages.myAccountPassword}
routeConversionConfig={privatePages.conversionConfig}
+ onCashout={() =>
+ navigateTo(privatePages.home.url({}))
+ }
onAuthorizationRequired={() =>
navigateTo(privatePages.solveSecondFactor.url({}))
}
@@ -513,6 +522,7 @@ function PrivateRouting({
onAuthorizationRequired={() =>
navigateTo(privatePages.solveSecondFactor.url({}))
}
+ onCashout={() => navigateTo(privatePages.home.url({}))}
routeClose={privatePages.home}
/>
);