From 81516eeba5fbf654d3aca21865edf1c860309f5f Mon Sep 17 00:00:00 2001 From: amam-deriv Date: Thu, 30 Jan 2025 16:11:35 +0800 Subject: [PATCH] amam/add_authorize_brand (#18033) * chore: update auth client * fix: logout types --- README.md | 75 +++++++++++++++++---------------- package-lock.json | 59 +++++++++++++++++++------- packages/core/package.json | 6 +-- packages/hooks/package.json | 24 +++++------ packages/hooks/src/useOauth2.ts | 6 ++- 5 files changed, 103 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index ca939d499f0c..3bd0700fc860 100644 --- a/README.md +++ b/README.md @@ -10,28 +10,31 @@ This repository contains the various platforms of the Deriv application. **In this document**: -- [Other Documents](#other-documents) -- [Pre-installation](#Pre-installation) -- [Quick start](#Quick-start) -- [Packages](#packages) -- [Working With This Repo](#working-with-this-repo) - - [Package names](#package-names) - - [Usage](#usage) - - [Starting a Development Server](#starting-a-dev-server) - - [How to Clean Packages](#how-to-clean-packages) - - [Examples of Script Usage](#examples-of-script-usage) - - [Release](#release) -- [PR Guidelines](#pr-guidelines) -- [FAQ](#faq) +- [Other documents:](#other-documents) +- [Pre-installation](#pre-installation) +- [Quick start](#quick-start) +- [Packages](#packages) +- [Working With This Repo](#working-with-this-repo) +- [Package names](#package-names) + - [Usage](#usage) + - [Starting a Development Server](#starting-a-development-server) + - [How to Clean Packages](#how-to-clean-packages) + - [How to clear cache](#how-to-clear-cache) +- [Servable packages](#servable-packages) + - [Examples of Script Usage](#examples-of-script-usage) +- [Release](#release) +- [PR format recommendations](#pr-format-recommendations) +- [Test link deployment](#test-link-deployment) +- [FAQ](#faq) ## Other documents: -- [General](docs/README.md) - Contains general philosophy and overview of this package -- [Stylesheet guidelines](docs/Stylesheet/README.md) - Contains rules for CSS/SASS code style -- [JavaScript guidelines](docs/JavaScript/README.md) - Contains rules for JS/JSX code style -- [Modules docs](docs/Modules/README.md) - Contains implementation guides (i.e., scaffolding, code usage) -- [e2e and performance testing docs](e2e_tests/README.md) - Contains documents for create and running e2e and performance tests -- [Manage dependencies](docs/Dependencies/README.md) +- [General](docs/README.md) - Contains general philosophy and overview of this package +- [Stylesheet guidelines](docs/Stylesheet/README.md) - Contains rules for CSS/SASS code style +- [JavaScript guidelines](docs/JavaScript/README.md) - Contains rules for JS/JSX code style +- [Modules docs](docs/Modules/README.md) - Contains implementation guides (i.e., scaffolding, code usage) +- [e2e and performance testing docs](e2e_tests/README.md) - Contains documents for create and running e2e and performance tests +- [Manage dependencies](docs/Dependencies/README.md) [comment]: <> (TODO: Refactor Clean Project to be under usage) @@ -39,9 +42,9 @@ This repository contains the various platforms of the Deriv application. Before running or contribute to this project, you need to have the setup of the following package in your environment. -- node >=16.16.0 -- npm >=7.21.0 -- git (for `contribution`) +- node >=16.16.0 +- npm >=7.21.0 +- git (for `contribution`) ## Quick start @@ -57,8 +60,8 @@ Before running or contribute to this project, you need to have the setup of the > **Internal**: NX and Lerna integration > -> - Find and copy nx-cloud accessToken -> - Make a copy of `nx-cloud.env.example` from root directory of the project and name it `nx-cloud.env` and replace the `` with provided token. +> - Find and copy nx-cloud accessToken +> - Make a copy of `nx-cloud.env.example` from root directory of the project and name it `nx-cloud.env` and replace the `` with provided token. 3. **Enter project directory** @@ -162,15 +165,15 @@ You can read more on the various lerna commands (and the [`clean` command](https ## Servable packages -- account -- appstore -- bot-web-ui -- cashier -- cfd -- components -- core -- p2p -- trader +- account +- appstore +- bot-web-ui +- cashier +- cfd +- components +- core +- p2p +- trader
@@ -238,9 +241,9 @@ Upon creating PR, [Vercel](https://vercel.com/) will auto-generate a test link i If preferable to use manual deployment, you can use [gh-pages](https://pages.github.com/) functionality to create a test link. here are ways to do it: -- You can simply deploy to root of the `gh-pages` branch with: `npm run deploy`. -- You can clean (remove `br_` folders and clear root\) your `gh-pages` branch and deploy to root in a single command with `npm run deploy:clean` -- You can deploy to a folder in your `gh-pages` branch in order to separate from root app deployment and other folder deployments with: `npm run deploy:folder br_test_folder` (folder name must be prefixed with `br_`)) +- You can simply deploy to root of the `gh-pages` branch with: `npm run deploy`. +- You can clean (remove `br_` folders and clear root\) your `gh-pages` branch and deploy to root in a single command with `npm run deploy:clean` +- You can deploy to a folder in your `gh-pages` branch in order to separate from root app deployment and other folder deployments with: `npm run deploy:folder br_test_folder` (folder name must be prefixed with `br_`))
diff --git a/package-lock.json b/package-lock.json index c009eb85c2d9..142552c3aa0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2683,19 +2683,6 @@ "npm": "9.x" } }, - "node_modules/@deriv-com/auth-client": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@deriv-com/auth-client/-/auth-client-1.3.7.tgz", - "integrity": "sha512-mdudJ7q6zOm9irL8zwj7+qrsWN0lA2ZGqVDJi3TSLd7LNaJEDk5pbu0ajCDbg/JvLt4e5/JiWVkrNGiN/4QRZA==", - "dependencies": { - "@deriv-com/utils": "^0.0.42", - "js-cookie": "3.0.5", - "oidc-client-ts": "^3.1.0" - }, - "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "^4.27.3" - } - }, "node_modules/@deriv-com/eslint-config-deriv": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@deriv-com/eslint-config-deriv/-/eslint-config-deriv-2.2.0.tgz", @@ -50845,7 +50832,7 @@ "@babel/polyfill": "^7.12.1 ", "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.28.2", - "@deriv-com/auth-client": "1.3.7", + "@deriv-com/auth-client": "^1.3.10", "@deriv-com/quill-tokens": "2.0.4", "@deriv-com/quill-ui": "1.24.4", "@deriv-com/translations": "1.3.9", @@ -50969,6 +50956,27 @@ "node": "18.x" } }, + "packages/core/node_modules/@deriv-com/auth-client": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@deriv-com/auth-client/-/auth-client-1.3.10.tgz", + "integrity": "sha512-FhkHicn0YlyRNjCCwbeX54+UrW+YuQwbidOp/HqXmH2eDR6ibKtSrCZzarN591dE9dqpIoHN/qVZpv+VrMNKmw==", + "dependencies": { + "@deriv-com/utils": "^0.0.42", + "js-cookie": "3.0.5", + "oidc-client-ts": "^3.1.0" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "^4.27.3" + } + }, + "packages/core/node_modules/@deriv-com/auth-client/node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, "packages/core/node_modules/js-cookie": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", @@ -50980,7 +50988,7 @@ "dependencies": { "@binary-com/binary-document-uploader": "^2.4.8", "@deriv-com/analytics": "1.28.2", - "@deriv-com/auth-client": "1.3.7", + "@deriv-com/auth-client": "^1.3.10", "@deriv-com/ui": "1.36.4", "@deriv-com/utils": "^0.0.42", "@deriv/api": "^1.0.0", @@ -51004,6 +51012,27 @@ "typescript": "^4.6.3" } }, + "packages/hooks/node_modules/@deriv-com/auth-client": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@deriv-com/auth-client/-/auth-client-1.3.10.tgz", + "integrity": "sha512-FhkHicn0YlyRNjCCwbeX54+UrW+YuQwbidOp/HqXmH2eDR6ibKtSrCZzarN591dE9dqpIoHN/qVZpv+VrMNKmw==", + "dependencies": { + "@deriv-com/utils": "^0.0.42", + "js-cookie": "3.0.5", + "oidc-client-ts": "^3.1.0" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "^4.27.3" + } + }, + "packages/hooks/node_modules/@deriv-com/auth-client/node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, "packages/hooks/node_modules/js-cookie": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", diff --git a/packages/core/package.json b/packages/core/package.json index e400eae8e2ac..ec3b05dc3fd2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -58,9 +58,9 @@ "eslint-plugin-react": "^7.22.0", "eslint-plugin-react-hooks": "^4.2.0", "file-loader": "^6.2.0", - "history": "^5.0.0", "gh-pages": "^6.1.1", "git-revision-webpack-plugin": "^5.0.0", + "history": "^5.0.0", "html-loader": "^1.3.2", "html-webpack-plugin": "^5.0.0-beta.5", "html-webpack-tags-plugin": "^2.0.17", @@ -94,12 +94,13 @@ "workbox-webpack-plugin": "^6.0.2" }, "dependencies": { + "@babel/polyfill": "^7.12.1 ", "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.28.2", + "@deriv-com/auth-client": "^1.3.10", "@deriv-com/quill-tokens": "2.0.4", "@deriv-com/quill-ui": "1.24.4", "@deriv-com/translations": "1.3.9", - "@deriv-com/auth-client": "1.3.7", "@deriv-com/ui": "1.36.4", "@deriv-com/utils": "^0.0.42", "@deriv/account": "^1.0.0", @@ -122,7 +123,6 @@ "@deriv/utils": "^1.0.0", "@deriv/wallets": "^1.0.0", "acorn": "^6.1.1", - "@babel/polyfill": "^7.12.1 ", "canvas-toBlob": "^1.0.0", "classnames": "^2.2.6", "crc-32": "^1.2.0", diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 7803fa3c8307..52f24575dff1 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -7,27 +7,27 @@ "dependencies": { "@binary-com/binary-document-uploader": "^2.4.8", "@deriv-com/analytics": "1.28.2", + "@deriv-com/auth-client": "^1.3.10", + "@deriv-com/ui": "1.36.4", + "@deriv-com/utils": "^0.0.42", "@deriv/api": "^1.0.0", - "@deriv-com/auth-client": "1.3.7", - "@deriv/stores": "^1.0.0", - "@deriv/utils": "^1.0.0", "@deriv/shared": "^1.0.0", + "@deriv/stores": "^1.0.0", "@deriv/translations": "^1.0.0", - "usehooks-ts": "^2.7.0", - "react-i18next": "^11.11.0", + "@deriv/utils": "^1.0.0", "@simplewebauthn/browser": "^8.3.4", "@simplewebauthn/typescript-types": "^8.3.4", - "react": "^17.0.2", - "dayjs": "^1.11.11", "@types/js-cookie": "^3.0.1", + "dayjs": "^1.11.11", "js-cookie": "^2.2.1", - "@deriv-com/utils": "^0.0.42", - "@deriv-com/ui": "1.36.4" + "react": "^17.0.2", + "react-i18next": "^11.11.0", + "usehooks-ts": "^2.7.0" }, "devDependencies": { - "typescript": "^4.6.3", - "@testing-library/user-event": "^13.5.0", "@testing-library/react": "^12.1.5", - "@testing-library/react-hooks": "^7.0.2" + "@testing-library/react-hooks": "^7.0.2", + "@testing-library/user-event": "^13.5.0", + "typescript": "^4.6.3" } } diff --git a/packages/hooks/src/useOauth2.ts b/packages/hooks/src/useOauth2.ts index 762c209cf461..beffa48db83f 100644 --- a/packages/hooks/src/useOauth2.ts +++ b/packages/hooks/src/useOauth2.ts @@ -39,7 +39,11 @@ const useOauth2 = ({ handleLogout }: { handleLogout: () => Promise }) => { }; const logoutHandler = async () => { - await OAuth2Logout(handleLogout); + await OAuth2Logout({ + WSLogoutAndRedirect: handleLogout, + redirectCallbackUri: `${window.location.origin}/callback`, + postLogoutRedirectUri: `${window.location.origin}/`, + }); }; return { isOAuth2Enabled, oAuthLogout: logoutHandler, loginHandler };