From c857d9ef4d27c7da4bcbbd15f7f897b233f317ad Mon Sep 17 00:00:00 2001 From: Zoltan Juhasz Date: Sat, 29 Oct 2022 15:00:03 +0200 Subject: [PATCH] React example --- .../ClientApp/package-lock.json | 14 ++++++++++---- Forge.Yoda.Apps.Web.React/ClientApp/package.json | 3 ++- Forge.Yoda.Apps.Web.React/ClientApp/src/App.tsx | 2 +- .../ClientApp/src/components/AccountMenu.tsx | 5 ++--- .../ClientApp/src/components/Login.tsx | 3 +-- .../ClientApp/src/components/UserContext.ts | 5 +---- .../Properties/launchSettings.json | 12 ++++++++++++ 7 files changed, 29 insertions(+), 15 deletions(-) create mode 100644 Forge.Yoda.Shared.ServiceImpls/Properties/launchSettings.json diff --git a/Forge.Yoda.Apps.Web.React/ClientApp/package-lock.json b/Forge.Yoda.Apps.Web.React/ClientApp/package-lock.json index a9cf3be..fc544a0 100644 --- a/Forge.Yoda.Apps.Web.React/ClientApp/package-lock.json +++ b/Forge.Yoda.Apps.Web.React/ClientApp/package-lock.json @@ -6469,11 +6469,17 @@ } }, "forge-security-jwt-client-web": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/forge-security-jwt-client-web/-/forge-security-jwt-client-web-1.0.3.tgz", - "integrity": "sha512-Co/GDVsZdvWNqtZUeJuecWC0uQzGetv+OeR0upcntjkXQE/Dw7eZXlwML7Cw6VXvWkgCMlteowFvybdpwoCHLA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/forge-security-jwt-client-web/-/forge-security-jwt-client-web-1.0.6.tgz", + "integrity": "sha512-Im9nQ+RFBJ1pyF3QPYO0sk1CyKcdysiS6T/cXf/Kbz2U4eryVOx2OsCy62xrE6qZfe4xgXQ0uom+1LrUu6fWjQ==" + }, + "forge-security-jwt-client-web-react": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/forge-security-jwt-client-web-react/-/forge-security-jwt-client-web-react-1.0.2.tgz", + "integrity": "sha512-uK68hgrBdY3s3glhRuE1WLIBALUtOWUZTj23sLECVNbebfrKJtCK6rrTByn0pOq2aAxmdiisdgw/fyKYsX5qbA==", "requires": { - "jzo-library": "1.0.6", + "forge-security-jwt-client-web": "^1.0.6", + "jzo-library": "^1.0.6", "react": "^17.0.0" }, "dependencies": { diff --git a/Forge.Yoda.Apps.Web.React/ClientApp/package.json b/Forge.Yoda.Apps.Web.React/ClientApp/package.json index 92b0162..0e5f162 100644 --- a/Forge.Yoda.Apps.Web.React/ClientApp/package.json +++ b/Forge.Yoda.Apps.Web.React/ClientApp/package.json @@ -5,7 +5,8 @@ "bootstrap": "^5.2.2", "devextreme": "^22.1.6", "devextreme-react": "^22.1.6", - "forge-security-jwt-client-web": "1.0.3", + "forge-security-jwt-client-web": "1.0.6", + "forge-security-jwt-client-web-react": "1.0.2", "jquery": "^3.6.1", "jzo-library": "1.0.6", "http-proxy-middleware": "^2.0.6", diff --git a/Forge.Yoda.Apps.Web.React/ClientApp/src/App.tsx b/Forge.Yoda.Apps.Web.React/ClientApp/src/App.tsx index ef5d5ae..7be66a6 100644 --- a/Forge.Yoda.Apps.Web.React/ClientApp/src/App.tsx +++ b/Forge.Yoda.Apps.Web.React/ClientApp/src/App.tsx @@ -1,7 +1,7 @@ import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { Configuration, Options, ServiceStore } from 'forge-security-jwt-client-web'; -import AuthorizeView from 'forge-security-jwt-client-web/build/tsx/AuthorizeView'; +import { AuthorizeView } from 'forge-security-jwt-client-web-react'; import { Guid } from 'jzo-library'; import * as React from 'react'; diff --git a/Forge.Yoda.Apps.Web.React/ClientApp/src/components/AccountMenu.tsx b/Forge.Yoda.Apps.Web.React/ClientApp/src/components/AccountMenu.tsx index c12eb54..4da79fb 100644 --- a/Forge.Yoda.Apps.Web.React/ClientApp/src/components/AccountMenu.tsx +++ b/Forge.Yoda.Apps.Web.React/ClientApp/src/components/AccountMenu.tsx @@ -6,11 +6,10 @@ import { Link } from 'react-router-dom'; import { Navigate } from 'react-router'; import LoadingPopup from "./LoadingPopup"; -import { ServiceStore } from "../../security/services/ServiceStore"; import { UserContext } from "./UserContext"; -import Authorized from "../Authorized"; -import NotAuthorized from "../NotAuthorized"; import { EventArgs } from "jzo-library"; +import { ServiceStore } from "forge-security-jwt-client-web"; +import { Authorized, NotAuthorized } from "forge-security-jwt-client-web-react"; type AccountMenuState = { isErrorPopupVisible: boolean, diff --git a/Forge.Yoda.Apps.Web.React/ClientApp/src/components/Login.tsx b/Forge.Yoda.Apps.Web.React/ClientApp/src/components/Login.tsx index 9fa129d..a5b7e19 100644 --- a/Forge.Yoda.Apps.Web.React/ClientApp/src/components/Login.tsx +++ b/Forge.Yoda.Apps.Web.React/ClientApp/src/components/Login.tsx @@ -14,8 +14,7 @@ import LoadingPopup from "./LoadingPopup"; import { ClickEventArgs, ValueChangedEventArgs } from "./DxTypes"; import dxTextBox from "devextreme/ui/text_box"; import dxButton from "devextreme/ui/button"; -import { ServiceStore } from "../../security/services/ServiceStore"; -import { JwtTokenResult } from "../../security/data/types"; +import { JwtTokenResult, ServiceStore } from "forge-security-jwt-client-web"; type LoginState = { loginName: string, diff --git a/Forge.Yoda.Apps.Web.React/ClientApp/src/components/UserContext.ts b/Forge.Yoda.Apps.Web.React/ClientApp/src/components/UserContext.ts index c6cf0fe..a1b11d7 100644 --- a/Forge.Yoda.Apps.Web.React/ClientApp/src/components/UserContext.ts +++ b/Forge.Yoda.Apps.Web.React/ClientApp/src/components/UserContext.ts @@ -1,8 +1,5 @@ +import { Claim, ClaimTypes, IAuthenticationService, ParsedTokenData, UserDataEventArgs } from "forge-security-jwt-client-web"; import { EventArgs, GenericEvent } from "jzo-library"; -import { ClaimTypes } from "../../security/data/ClaimTypes"; -import { Claim, ParsedTokenData } from "../../security/data/types"; -import { UserDataEventArgs } from "../../security/data/UserDataEventArgs"; -import { IAuthenticationService } from "../../security/interfaces/IAuthenticationService"; export class UserContext { diff --git a/Forge.Yoda.Shared.ServiceImpls/Properties/launchSettings.json b/Forge.Yoda.Shared.ServiceImpls/Properties/launchSettings.json new file mode 100644 index 0000000..7df8892 --- /dev/null +++ b/Forge.Yoda.Shared.ServiceImpls/Properties/launchSettings.json @@ -0,0 +1,12 @@ +{ + "profiles": { + "Forge.Yoda.Shared.ServiceImpls": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:63214;http://localhost:63215" + } + } +} \ No newline at end of file