Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
946ea46
chore: init `next` version
brionmario May 16, 2025
6d92cbc
chore: rename `react-vite` recipe
brionmario May 16, 2025
8278303
chore(recipes): add `vite-react-ts` sample
brionmario May 16, 2025
ee8e389
chore: fix build
brionmario May 16, 2025
14dda79
chore(react): intial sample integration
brionmario May 17, 2025
09468ad
chore(browser): fix build issues
brionmario May 19, 2025
9017662
chore(react-vite): sample integration
brionmario May 19, 2025
5913ed3
chore(react): fix formatting issues
brionmario May 19, 2025
100b0c8
chore(react): expose `signOut` hook
brionmario May 19, 2025
a1ed7a9
chore(react): implement `SignInButton` component
brionmario May 19, 2025
0b8d3d5
chore(react): implement `SignOutButton` component
brionmario May 19, 2025
6889924
chore: `formatOnSave` to true
brionmario May 19, 2025
ee7ea46
chore(react): expose `isSignedIn` hook
brionmario May 19, 2025
ec5f5d2
chore(react): implement `SignedIn` component
brionmario May 19, 2025
92eca3b
chore(react): implement `SignedOut` component
brionmario May 19, 2025
4d7243b
chore(react): format components
brionmario May 19, 2025
d3c0484
chore(react-vite): sample integration
brionmario May 19, 2025
ad69b3a
chore(next): init `next` package
brionmario May 19, 2025
45c8ebf
chore(node): add `@asgardeo/auth-node` code
brionmario May 19, 2025
64c8217
chore(next): add `next` as a peer dep
brionmario May 19, 2025
b1428ef
chore(javascript): move `@asgardeo/auth-js` to `legacy`
brionmario May 20, 2025
c3c553e
chore: use catalogs
brionmario May 21, 2025
66572e0
chore(recipes): add `next-ts-app-router` sample boilderplate
brionmario May 21, 2025
eae272d
chore(react): add `isSignedIn` and update formatting
brionmario May 23, 2025
788f73c
chore: move legacy stuff to a folder
brionmario May 23, 2025
5747bc7
chore: refactor legacy folder name
brionmario May 23, 2025
7fb9eea
chore(javascript): expose `Config` and deprecate the previous one
brionmario May 23, 2025
9ab6802
feat(react): add `useBrowserUrl` hook for handling authentication URL…
brionmario May 24, 2025
446b808
chore(javascript): add `afterSignInUrl` to Config
brionmario May 24, 2025
b78c46f
chore(react): enhance AsgardeoProvider to use afterSignInUrl and impr…
brionmario May 24, 2025
5c9e846
chore(react): refactor component props
brionmario May 24, 2025
28b23ea
feat(react): add `SignUpButton` component
brionmario May 24, 2025
1d9f694
chore(next): fix next provider
brionmario May 24, 2025
1d79bec
Merge remote-tracking branch 'upstream/main' into next
brionmario May 24, 2025
1cc39ce
chore: update lock and broken package.json
brionmario May 24, 2025
7717781
chore(javascript): rename legacy folder
brionmario May 24, 2025
0bbfa0e
chore(browser): move to legacy folder
brionmario May 24, 2025
8eb0d96
chore(node): move to legacy folder
brionmario May 24, 2025
5aee523
chore(node): add `AsgardeoNodeConfig`
brionmario May 24, 2025
3a19495
chore(react): update context
brionmario May 24, 2025
c169e28
chore(next): update context
brionmario May 24, 2025
6dc5532
chore(node): add `generateSessionId` util
brionmario May 25, 2025
f5d67ef
chore(node): expose session cookie options
brionmario May 25, 2025
470a7f9
chore: re-arrange packages
brionmario May 26, 2025
8b76ef5
chore(javascript): expose `AsgardeoClient` & `User` interfaces
brionmario May 26, 2025
142c802
chore(browser): expose `hasAuthParamsInUrl` from browser SDK
brionmario May 26, 2025
2fb3060
chore(browser): update imports in SPAHelper to fix circular dep
brionmario May 26, 2025
40851ae
chore(browser): move legacy client to `__legacy__`
brionmario May 26, 2025
e13025b
chore(browser): expose `AsgardeoBrowserConfig`
brionmario May 26, 2025
a0f4d74
chore(browser): add `AsgardeoBrowserClient` class
brionmario May 26, 2025
8154b72
chore: update clients impl
brionmario May 27, 2025
a28eefe
chore: update provider to use the new clients hierarchy
brionmario May 27, 2025
dcab1ce
chore(javascript): update tsdoc
brionmario May 27, 2025
6841f8c
chore(javascript): expose a `EnvironmentConstants` base class
brionmario May 27, 2025
8f7939d
chore(javascript): overload `signOut`
brionmario May 27, 2025
75171ab
chore: use the right platform
brionmario May 27, 2025
7ae0aaf
chore(node): move the client to `__legacy__`
brionmario May 27, 2025
2ed5d8d
chore(node): expose `AsgardeoNodeClient`
brionmario May 27, 2025
425a499
chore(react): handle the overloaded `signOut`
brionmario May 27, 2025
b2fd145
chore(next): add `NextEnvironmentConstants` for environment variable …
brionmario May 27, 2025
942d07b
chore(javascript): expose `SignOutOptions`
brionmario May 27, 2025
740a814
chore(node): move initialization out of constructor
brionmario May 27, 2025
59872b9
chore(react): update imports
brionmario May 27, 2025
5685a4a
chore: working progress checkpoint
brionmario May 27, 2025
da99f14
chore(javascript): add `removeTrailingSlash` utility function
brionmario May 28, 2025
3054082
chore(next): add `getSessionId`
brionmario May 28, 2025
a92e717
chore(next): add `setSessionId`
brionmario May 28, 2025
661920e
chore(react): expose `useBrowserUrl`
brionmario May 28, 2025
7c9f195
chore(next): get the `next` package working with app router
brionmario May 28, 2025
7ae81dc
chore(react): enhance SignInButton to support loading state and rende…
brionmario May 29, 2025
9bb7ea6
chore(react): enhance SignOutButton to support loading state and rend…
brionmario May 29, 2025
801cec6
chore(react): update `SignInButtonRenderProps`
brionmario May 29, 2025
b87f020
chore(react): enhance SignUpButton to support loading state and rende…
brionmario May 29, 2025
36daa09
chore(browser): add StyleConstants and withVendorCSSClassPrefix utility
brionmario May 29, 2025
b1af90d
chore(react): separate out base and CSR component
brionmario May 29, 2025
31d9607
chore(react): separate out base and CSR component in `SignOutButton`
brionmario May 29, 2025
33d03e0
chore(react): separate out base and CSR component in `SignUpButton`
brionmario May 29, 2025
9b4e309
chore(next): update `SignInButton` to use `BaseSignInButton`
brionmario May 29, 2025
0102431
chore(next): update `SignOutButton` to use `BaseSignOutButton`
brionmario May 29, 2025
6872bdf
chore(react): update exports and imports
brionmario May 29, 2025
013acf7
chore(react): update types
brionmario May 29, 2025
552d951
chore(next): update components
brionmario May 29, 2025
1ef9c23
chore(javascript): change from class to const
brionmario May 29, 2025
4afd335
chore(recipes): udpate recipes
brionmario May 30, 2025
ba3aa67
chore(recipes): udpate `main.tsx`
brionmario May 30, 2025
a88fd0e
chore(recipes): udpate `main.tsx`
brionmario May 30, 2025
75914be
chore(recipes): add a sample .env.local file
brionmario May 30, 2025
e7493a2
chore(errors): add AsgardeoError, AsgardeoAPIError, and AsgardeoRunti…
brionmario May 30, 2025
cccbce2
chore(javascript): implement getUserInfo function and related tests
brionmario May 30, 2025
92cf99c
chore(javascript): udpate vite test conf
brionmario May 30, 2025
a2bb8d6
chore(javascript): update `getUserInfo` args
brionmario May 30, 2025
0ea075e
chore(javascript): update `getUserInfo` tests
brionmario May 30, 2025
2ca4582
chore(javascript): fix build issues
brionmario May 30, 2025
61c205f
chore(javascript): move `Store` out of `__legacy__`
brionmario May 30, 2025
a656858
docs: update README
brionmario May 30, 2025
905710d
chore(react): add `User` component
brionmario Jun 2, 2025
26ad7b6
chore(javascript): scope `PKCEConstants`
brionmario Jun 2, 2025
802fb48
chore(javascript): move out `extractPKCEKeyFromStateParam`
brionmario Jun 2, 2025
6aad17c
chore(javascript): move out `generateStateParamForRequestCorrelation`
brionmario Jun 2, 2025
475579a
chore(javascript): remove `getTokenRequestHeaders`
brionmario Jun 2, 2025
3ea597a
chore(javascript): rename `extractPKCEKeyFromStateParam` -> `getPkceS…
brionmario Jun 2, 2025
2924da8
chore(javascript): rename `PKCEConstants` -> `PkceConstants`
brionmario Jun 2, 2025
61e6b44
chore(javascript): rename `DecodedIDTokenPayload` -> `IdTokenPayload`
brionmario Jun 2, 2025
c027b4d
chore(javascript): remove `getTenantDomainFromIdTokenPayload`
brionmario Jun 2, 2025
9d13ac8
chore(javascript): remove `filterClaimsFromIDTokenPayload`
brionmario Jun 2, 2025
4092de2
chore(javascript): fix unit tests
brionmario Jun 2, 2025
9981929
chore(javascript): update parameter name from `stateParam` to `state`…
brionmario Jun 2, 2025
3e49c78
chore(javascript): rename `getTenantDomainFromIdTokenPayload` -> `ext…
brionmario Jun 2, 2025
b9b3fb9
chore(javascript): rename `getPkceStorageKeyFromState` -> `extractPkc…
brionmario Jun 2, 2025
95b92e5
chore(javascript): add unit tests for utils
brionmario Jun 2, 2025
08a2f23
chore(javascript): update tests
brionmario Jun 2, 2025
1e5ab9b
chore(javascript): update tsdoc
brionmario Jun 2, 2025
611f0f4
chore(javascript): refactor PKCE key generation and add tests for uti…
brionmario Jun 3, 2025
fd2eeba
chore(javascript): replace TemporaryData with TemporaryStore in model…
brionmario Jun 3, 2025
d655021
chore(javascript): refactor OIDC endpoints structure and update relat…
brionmario Jun 3, 2025
09e1060
chore(javascript): rename `ResponseMode` with `OAuthResponseMode`
brionmario Jun 3, 2025
4f94d95
chore(javascript): refactor data storage structure and update Stores …
brionmario Jun 3, 2025
5a4567e
chore(javascript): fix mistakenly renamed property
brionmario Jun 3, 2025
f816e8e
chore(javascript): refactor OIDC scope handling and remove deprecated…
brionmario Jun 3, 2025
1b47a3f
chore(javascript): remove EnvironmentConstants export from public API
brionmario Jun 3, 2025
7e95014
chore(javascript): refactor PKCE constants structure and update relat…
brionmario Jun 3, 2025
20e57c1
chore(javascript): replace OidcScopes with OidcScopeConstants in lega…
brionmario Jun 3, 2025
a5528da
chore(javascript): enhance type definitions with additional comments …
brionmario Jun 3, 2025
753ace1
chore(javascript): introduce OidcSignatureValidationConstants for OID…
brionmario Jun 3, 2025
7af9bed
chore(javascript): introduce OidcTokenConstants for OIDC token manage…
brionmario Jun 3, 2025
0ad482d
chore(javascript): remove FetchCredentialTypes and replace usages wit…
brionmario Jun 3, 2025
d540c38
chore(javascript): replace OAuthResponseMode with ResponseMode across…
brionmario Jun 3, 2025
ef79ac7
chore(javascript): replace OAuthResponseMode with ResponseMode across…
brionmario Jun 3, 2025
8faabf2
chore(javascript): rename OidcTokenConstants to TokenConstants and up…
brionmario Jun 3, 2025
5b00e7f
chore(javascript): replace OidcSignatureValidationConstants with Toke…
brionmario Jun 3, 2025
a2fc677
chore(javascript): refactor ScopeConstants and TokenConstants imports…
brionmario Jun 3, 2025
ca5843f
chore(javascript): refactor OIDC-related imports and create new oauth…
brionmario Jun 3, 2025
24688b3
chore(javascript): introduce OidcMetadataConstants for endpoint manag…
brionmario Jun 3, 2025
2899a00
chore(javascript): replace OP_CONFIG_INITIATED with OidcMetadataConst…
brionmario Jun 3, 2025
331ad01
chore(javascript): remove unused import of DefaultOIDCEndpoints in ge…
brionmario Jun 3, 2025
1479362
chore(javascript): remove unused DefaultOIDCEndpoints import and dele…
brionmario Jun 3, 2025
d307a60
chore(javascript): refactor OidcMetadataConstants to use StorageKeys …
brionmario Jun 3, 2025
5f4f68f
chore(javascript): remove OIDC endpoints constants and refactor Authe…
brionmario Jun 3, 2025
38a559a
chore(javascript): refactor authentication logic to use OidcRequestPa…
brionmario Jun 3, 2025
2ee7df6
chore(javascript): refactor OidcMetadataConstants to use nested Stora…
brionmario Jun 4, 2025
48acffb
chore(javascript): replace OidcRequestParamsConstants with OidcReques…
brionmario Jun 4, 2025
276d5ec
chore(javascript): refactor PkceConstants to use nested Storage struc…
brionmario Jun 4, 2025
8292772
chore(javascript): rename TimerKeys to StorageKeys in TokenConstants …
brionmario Jun 4, 2025
7901984
chore(javascript): update SPAUtils to use OidcRequestConstants for si…
brionmario Jun 4, 2025
915d1b2
chore: refactor to use OidcRequestConstants for session state and aut…
brionmario Jun 4, 2025
0ce9d1e
chore(javascript): remove legacy custom grant template tags and repla…
brionmario Jun 4, 2025
901276c
chore(javascript): refactor constants
brionmario Jun 4, 2025
d3821b9
chore(javascript): enhance documentation for OIDC and PKCE constants
brionmario Jun 4, 2025
de29d7f
chore(javascript): remove unnecessary template annotations from clien…
brionmario Jun 4, 2025
ecf0a6f
chore: refactor to replace CryptoUtils with Crypto interface across m…
brionmario Jun 4, 2025
6142bc3
chore(javascript): update token response types and add RawAccessToken…
brionmario Jun 4, 2025
ee3b75b
chore(javascript): extend TokenResponse and RawAccessTokenResponse in…
brionmario Jun 4, 2025
85c2492
chore(javascript): replace OIDCMetadataConstants with OIDCDiscoveryCo…
brionmario Jun 4, 2025
89b36be
chore(javascript): refactor OIDCProviderMetaData to OIDCDiscoveryCons…
brionmario Jun 4, 2025
ab15ea3
chore(javascript): refactor OIDCProviderMetaData to OIDCDiscoveryResp…
brionmario Jun 4, 2025
cc07089
chore(javascript): rename OIDCDiscoveryResponse to OIDCDiscoveryApiRe…
brionmario Jun 4, 2025
925d810
chore(javascript): reorganize OIDCDiscoveryApiResponse
brionmario Jun 4, 2025
dfc9341
chore(javascript): rename RawAccessTokenResponse to AccessTokenApiRes…
brionmario Jun 4, 2025
55463f1
chore(javascript): add OIDCDiscoveryEndpointsApiResponse interface fo…
brionmario Jun 4, 2025
6484f95
chore(javascript): extend OIDCDiscoveryApiResponse to include OIDCDis…
brionmario Jun 4, 2025
9b5bed3
chore(javascript): rename `CryptoHelper` -> `IsomorphicCrypto`
brionmario Jun 4, 2025
52d4fd1
chore: remove `public-api` files
brionmario Jun 4, 2025
18e14fd
chore(javascript): add 'jti' and 'sub' to protocol claims removal in …
brionmario Jun 4, 2025
c4ac479
fix: update pnpm workspace to include all recipes and improve user da…
brionmario Jun 4, 2025
4b7c828
feat(react): add `UserProfile` component for displaying user information
brionmario Jun 4, 2025
cf5b03e
feat(react): implement `UserProfile` component to utilize `BaseUserPr…
brionmario Jun 4, 2025
f3525f3
chore: Add UserProfile component and update scopes format in Asgardeo…
brionmario Jun 4, 2025
65aa108
chore(react): refactor control components
brionmario Jun 4, 2025
1d90b0c
chore(react): refactor presentation components
brionmario Jun 4, 2025
976c1c6
chore(react): refactor action components
brionmario Jun 4, 2025
58378b1
chore(react): refactor `BaseUserProfile`
brionmario Jun 4, 2025
b304e5d
chore(react): refactor `BaseUserProfile`
brionmario Jun 4, 2025
25eb0bd
chore(react): refactor `BaseUserProfile`
brionmario Jun 4, 2025
2b868c9
feat(react): add theme context and provider with light/dark mode support
brionmario Jun 4, 2025
691f515
feat(react): add Asgardeo theme preferences to provider for customiza…
brionmario Jun 4, 2025
ccd97bc
feat(react): add theme preferences to AsgardeoProvider for customizab…
brionmario Jun 4, 2025
b050668
chore(react): reorganize theme imports and remove unused theme index …
brionmario Jun 4, 2025
fcc2a96
chore(react): integrate theme support into Popover component for cons…
brionmario Jun 4, 2025
3e29da6
chore(react): integrate theme support into Popover component for cons…
brionmario Jun 4, 2025
b0f51eb
chore(react): integrate theme support into Avatar component for consi…
brionmario Jun 4, 2025
517c97c
feat(react): enhance Popover component with header and content subcom…
brionmario Jun 4, 2025
81d9a0a
chore(recipes): update theme
brionmario Jun 4, 2025
f9c85c0
feat(react): add vendor CSS class prefixing to Avatar, Popover, and B…
brionmario Jun 4, 2025
a51d60b
chore: refactor theme
brionmario Jun 4, 2025
0ceae5f
feat(react): enhance BaseUserProfile component with attribute mapping…
brionmario Jun 4, 2025
af5cf27
chore(react): fix object type attr values
brionmario Jun 4, 2025
00e9ce2
feat(react): add BaseUserDropdown and UserDropdown components for use…
brionmario Jun 4, 2025
c19b996
feat(react): add mode prop to Popover component for customizable disp…
brionmario Jun 4, 2025
033fe0c
chore(react): enhance BaseUserDropdown and BaseUserProfile components…
brionmario Jun 4, 2025
fa05168
chore(react): update BaseUserDropdown to conditionally display user e…
brionmario Jun 4, 2025
624f429
chore(react): enhance BaseUserDropdown with new props for customizabl…
brionmario Jun 4, 2025
e9f6f48
chore(javascript): remove client_secret from authorization request pa…
brionmario Jun 4, 2025
a26b914
chore: fix build issues
brionmario Jun 4, 2025
6bdc85e
chore(next): refactor components folder
brionmario Jun 4, 2025
daa5ec6
chore(next): replace elements with Base elements
brionmario Jun 4, 2025
5568f23
chore: fix build issues
brionmario Jun 4, 2025
5b2b38f
chore: update release conf
brionmario Jun 4, 2025
52fd16c
chore: update package.json
brionmario Jun 4, 2025
881e38d
chore(next): rename package
brionmario Jun 4, 2025
e9cd3c5
chore: add README files for browser, javascript, next, node, react, a…
brionmario Jun 4, 2025
c421e71
docs: udpate readme
brionmario Jun 4, 2025
54d51ff
chore: remove outdated README for @asgardeo/next and add new README f…
brionmario Jun 4, 2025
3bce9c6
docs: update readme
brionmario Jun 4, 2025
0cd08a6
chore: update package.json
brionmario Jun 4, 2025
a806ea8
chore: add changeset
brionmario Jun 4, 2025
d3af2fd
chore: add OIDC request constants for authorization and sign-out flows
brionmario Jun 4, 2025
bae5df0
chore: update imports
brionmario Jun 4, 2025
e44c654
chore: update imports
brionmario Jun 4, 2025
ed8d7db
chore: add rimraf
brionmario Jun 4, 2025
9bcf264
chore: fix export
brionmario Jun 4, 2025
3f332d2
chore: add getUserInfo function and corresponding tests
brionmario Jun 5, 2025
a9f300c
docs: update next README
brionmario Jun 5, 2025
6e24d23
feat: implement SCIM2 user profile retrieval and schema handling
brionmario Jun 5, 2025
aa18e9d
feat: enhance BaseUserProfile to render subAttributes and improve get…
brionmario Jun 5, 2025
3e1d3c9
chore: fix for scim
brionmario Jun 5, 2025
eea4d92
feat: add getMappedUserProfileValue utility for improved user profile…
brionmario Jun 5, 2025
c8e19d6
chore: add base support for editing the profile
brionmario Jun 5, 2025
5693c30
chore: add base support for editing the profile
brionmario Jun 5, 2025
0a9f71f
chore: add PencilIcon component for edit button and enhance button st…
brionmario Jun 5, 2025
e6ed327
chore(react): change maxWidth to minWidth for BaseUserProfile compone…
brionmario Jun 5, 2025
1ed1629
chore(react): update styles
brionmario Jun 5, 2025
29a69a1
chore(react): udpate edit style of BaseUserProfile
brionmario Jun 6, 2025
872521b
chore(react): implement updateMeProfile function and integrate with B…
brionmario Jun 6, 2025
11c198e
chore: fix updates
brionmario Jun 6, 2025
c08facf
chore(react): enhance user profile handling by adding path support an…
brionmario Jun 6, 2025
2fc5947
chore(react): fix profile updates
brionmario Jun 6, 2025
f8ffbb4
chore(react): fix profile updates
brionmario Jun 6, 2025
43086e0
chore: fix theme config issues
brionmario Jun 6, 2025
cb5534e
fix: fix nx build
brionmario Jun 6, 2025
96c79f3
fix(next): fix build errors
brionmario Jun 6, 2025
136d870
fix: typechec
brionmario Jun 6, 2025
5ded9d9
fix: unit tests
brionmario Jun 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .changeset/big-parrots-sleep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@asgardeo/javascript': patch
'@asgardeo/browser': patch
'@asgardeo/nextjs': patch
'@asgardeo/node': patch
'@asgardeo/react': minor
---

Initial release with basic redirection capabilities and components.
27 changes: 18 additions & 9 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "asgardeo/web-ui-sdks" }],
"$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json",
"access": "restricted",
"baseBranch": "main",
"changelog": [
"@changesets/changelog-github",
{
"repo": "asgardeo/javascript"
}
],
"commit": false,
"fixed": [],
"ignore": [],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"privatePackages": {
"version": true,
"tag": true
"version": false,
"tag": false
},
"root": {
"packageDir": "."
},
"updateInternalDependencies": "patch",
"ignore": []
}
"tagFormat": "@<scope>/<package>@${version}",
"updateInternalDependencies": "patch"
}
2 changes: 1 addition & 1 deletion .eslintrc.js → .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com).
* Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/pr-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,10 @@ jobs:
- name: 🧩 Install Dependencies
id: install-dependencies
run: pnpm install

- name: 🏗️ Build
id: build
run: pnpm build

- name: ☄️ Check Type Errors
run: pnpm nx affected --target=typecheck --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
Expand Down Expand Up @@ -166,6 +170,10 @@ jobs:
- name: 🧩 Install Dependencies
id: install-dependencies
run: pnpm install

- name: 🏗️ Build
id: build
run: pnpm build

- name: 🃏 Run Jest & Collect Coverage
id: run-jest-test-and-coverage
Expand Down
10 changes: 7 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# See https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files for more about ignoring files.

# compiled output
dist
tmp
/out-tsc
out-tsc

# dependencies
node_modules
Expand Down Expand Up @@ -38,5 +38,9 @@ testem.log
.DS_Store
Thumbs.db

# Nx
.nx/cache
.nx/workspace-data

# Environment files
*.env
.env*
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
/build
/node_modules
/coverage
/.nx/cache
/.nx/workspace-data
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
"css",
"scss"
],
"typescript.tsdk": "node_modules/typescript/lib"
"typescript.tsdk": "node_modules/typescript/lib",
"editor.formatOnSave": true
}
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@
src="https://github.com/asgardeo/web-ui-sdks/assets/25959096/ae77b70c-6570-40b1-a723-719abd0f7d02" alt="Asgardeo Logo" height="40" width="auto"
>
<h1 align="center">
Web SDKs
Asgardeo JavaScript SDKs
</h1>
</p>
<p align="center" style="font-size: 1.2rem;">
Web SDKs for building customizable UIs for <a href="https://wso2.com/asgardeo">Asgardeo</a> & <a href="https://wso2.com/identity-server/">WSO2 Identity Server</a>
JavaScript SDKs for building applications with <a href="https://wso2.com/asgardeo">Asgardeo</a>
</p>

<div align="center">
<a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License"></a>
<!-- <a href="https://github.com/asgardeo/web-ui-sdks/actions/workflows/build.yml"><img src="https://github.com/asgardeo/web-ui-sdks/actions/workflows/build.yml/badge.svg" alt="🐳 Build"></a> -->
<a href="https://github.com/asgardeo/web-ui-sdks/actions/workflows/release.yml"><img src="https://github.com/asgardeo/web-ui-sdks/actions/workflows/release.yml/badge.svg" alt="🚀 Release"></a>

<br>
Expand All @@ -21,7 +20,7 @@

<br>

This repository contains the source code of the different Web SDKs that can be used to build customizable UIs for Asgardeo and WSO2 Identity Server. If you have any questions, please reach out to us through one of the following channels:
This repository contains the source code of JavaScript SDKs that can be used to build applications integrated with Asgardeo. If you have any questions, please reach out to us through one of the following channels:

[![Stackoverflow](https://img.shields.io/badge/Ask%20for%20help%20on-Stackoverflow-orange)](https://stackoverflow.com/questions/tagged/wso2is)
[![Join the chat at https://discord.gg/wso2](https://img.shields.io/badge/Join%20us%20on-Discord-%23e01563.svg)](https://discord.gg/wso2)
Expand All @@ -31,16 +30,21 @@ This repository contains the source code of the different Web SDKs that can be u

| Package | Description |
| --- | --- |
| [![@asgardeo/js](https://img.shields.io/npm/v/@asgardeo/js?color=%234B32C3&label=%40asgardeo%2Fjs&logo=javascript)](./packages/core/) | Framework-agnostic JavaScript Core SDK |
| [![@asgardeo/react](https://img.shields.io/npm/v/@asgardeo/react?color=%23F7B93E&label=%40asgardeo%2Freact&logo=react)](./packages/react/) | React SDK for building customizable UIs for React applications |
| [![@asgardeo/javascript](https://img.shields.io/npm/v/@asgardeo/javascript?color=%234B32C3&label=%40asgardeo%2Fjavascript&logo=javascript)](./packages/javascript/) | Framework-agnostic JavaScript Core SDK |
| [![@asgardeo/browser](https://img.shields.io/npm/v/@asgardeo/browser?color=%234B32C3&label=%40asgardeo%2Fbrowser&logo=firefox)](./packages/browser/) | Browser-based JavaScript SDK |
| [![@asgardeo/nextjs](https://img.shields.io/npm/v/@asgardeo/nextjs?color=%23000000&label=%40asgardeo%2Fnext&logo=next.js)](./packages/next/) | Next.js SDK for building applications with Asgardeo |
| [![@asgardeo/node](https://img.shields.io/npm/v/@asgardeo/node?color=%23339933&label=%40asgardeo%2Fnode&logo=node.js)](./packages/node/) | Node.js SDK for server-side integration |
| [![@asgardeo/nuxt](https://img.shields.io/npm/v/@asgardeo/nuxt?color=%2300DC82&label=%40asgardeo%2Fnuxt&logo=nuxt)](./packages/nuxt/) | Nuxt.js SDK for building applications with Asgardeo |
| [![@asgardeo/react](https://img.shields.io/npm/v/@asgardeo/react?color=%2361DAFB&label=%40asgardeo%2Freact&logo=react)](./packages/react/) | React SDK for building applications with Asgardeo |
| [![@asgardeo/vue](https://img.shields.io/npm/v/@asgardeo/vue?color=%234FC08D&label=%40asgardeo%2Fvue&logo=vue.js)](./packages/vue/) | Vue.js SDK for building applications with Asgardeo |

## Contribute
Please read [Contributing Guide](CONTRIBUTING.md) for details on how to contribute to Asgardeo web UI SDKs. Refer to [General Contribution Guidelines](http://wso2.github.io/) for details on our code of conduct, and the process for submitting pull requests to us.
Please read [Contributing Guide](CONTRIBUTING.md) for details on how to contribute to Asgardeo JavaScript SDKs. Refer to [General Contribution Guidelines](http://wso2.github.io/) for details on our code of conduct, and the process for submitting pull requests to us.

### Reporting issues
We encourage you to report issues, improvements, and feature requests creating [Github Issues](https://github.com/asgardeo/web-ui-sdks/issues).

**Important**: Please be advised that security issues MUST be reported to <a href="mailto:security@wso2.com">security@wso2com</a>, not as GitHub issues, in order to reach the proper audience. We strongly advise following the WSO2 Security Vulnerability Reporting Guidelines when reporting the security issues.
**Important**: Please be advised that security issues MUST be reported to <a href="mailto:security@wso2.com">security@wso2.com</a>, not as GitHub issues, in order to reach the proper audience. We strongly advise following the WSO2 Security Vulnerability Reporting Guidelines when reporting the security issues.

## License
This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
28 changes: 25 additions & 3 deletions nx.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
{
"extends": "nx/presets/npm.json",
"$schema": "./node_modules/nx/schemas/nx-schema.json"
}
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"namedInputs": {
"default": [
"{projectRoot}/**/*",
"sharedGlobals"
],
"production": [
"default"
],
"sharedGlobals": []
},
"targetDefaults": {
"build": {
"dependsOn": [
"^build"
]
},
"typecheck": {
"dependsOn": [
"^build"
]
}
},
"plugins": []
}
50 changes: 20 additions & 30 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,52 +1,42 @@
{
"private": true,
"name": "@asgardeo/web-ui-sdks",
"version": "0.1.0",
"description": "Web SDKs for building customizable login UIs for Asgardeo & WSO2 Identity Server.",
"name": "@asgardeo/javascript-workspace",
"version": "0.0.0",
"description": "Workspace to hold the Asgardeo JavaScript SDKs.",
"author": "WSO2",
"license": "Apache-2.0",
"homepage": "https://github.com/asgardeo/web-ui-sdks#readme",
"homepage": "https://github.com/asgardeo/javascript#readme",
"bugs": {
"url": "https://github.com/asgardeo/web-ui-sdks/issues"
"url": "https://github.com/asgardeo/javascript/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/asgardeo/web-ui-sdks"
"url": "https://github.com/asgardeo/javascript"
},
"keywords": [
"asgardeo",
"web-sdks",
"api-based-auth"
"javascript",
"workspace"
],
"scripts": {
"build": "nx run-many --target=build --parallel --projects=@asgardeo/js,@asgardeo/react",
"changeset": "changeset",
"lint": "nx run-many --target=lint --parallel",
"build": "nx run-many --target=build --all",
"fix:lint": "nx run-many --target=fix:lint --all --parallel",
"lint": "nx run-many --target=lint --all --parallel",
"publish:packages": "changeset publish",
"test": "nx run-many --target=test --parallel",
"typecheck": "nx run-many --target=typecheck --parallel",
"test": "nx run-many --target=test --all --parallel",
"version:packages": "changeset version && pnpm install --lockfile-only"
},
"devDependencies": {
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.3",
"@changesets/changelog-github": "^0.5.1",
"@changesets/cli": "^2.29.4",
"@wso2/eslint-plugin": "catalog:",
"@wso2/prettier-config": "catalog:",
"eslint": "catalog:",
"nx": "18.2.4",
"prettier": "^3.2.5",
"typescript": "5.1.6"
},
"workspaces": [
"packages/*",
"recipes/*"
],
"engines": {
"node": ">=18",
"pnpm": ">=9"
"eslint": "8.57.0",
"nx": "20.8.1",
"prettier": "^2.6.2",
"typescript": "~5.7.2"
},
"publishConfig": {
"access": "restricted"
},
"packageManager": "pnpm@10.8.0+sha512.0e82714d1b5b43c74610193cb20734897c1d00de89d0e18420aebc5977fa13d780a9cb05734624e81ebd81cc876cd464794850641c48b9544326b5622ca29971"
}
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@asgardeo/js",
"private": true,
"name": "@asgardeo/js-legacy",
"version": "0.1.3",
"description": "Framework agnostic JS for Asgardeo or Identity Server",
"main": "dist/esm/index.js",
Expand Down Expand Up @@ -43,15 +44,15 @@
"@types/node": "^20.12.7",
"@wso2/eslint-plugin": "catalog:",
"@wso2/prettier-config": "catalog:",
"eslint": "catalog:",
"eslint": "8.57.0",
"prettier": "^3.2.5",
"rollup": "^4.17.2",
"rollup-plugin-dts": "^6.1.0",
"tslib": "^2.6.2",
"typescript": "5.1.6"
},
"publishConfig": {
"access": "public"
"access": "restricted"
},
"dependencies": {
"@asgardeo/auth-js": "^5.0.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const signOut = async (): Promise<void> => {
try {
formBody.append('id_token_hint', await authClient.getIDToken());
formBody.append('client_id', (await authClient.getDataLayer().getConfigData()).clientID);
formBody.append('response_mode', ResponseMode.direct);
formBody.append('response_mode', ResponseMode.Direct);
} catch (error) {
throw new AsgardeoUIException('JS_UI_CORE-SIGNOUT-SO-IV', 'Failed to build the body of the signout request.');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* under the License.
*/

import {AsgardeoAuthClient, Store, CryptoUtils, ResponseMode} from '@asgardeo/auth-js';
import {AsgardeoAuthClient, Store, Crypto, ResponseMode} from '@asgardeo/auth-js';
import {UIAuthClient, UIAuthConfig} from './models/auth-config';
import {BrandingPreferenceTypes} from './models/branding-api-response';

Expand All @@ -38,10 +38,10 @@ export class AuthClient {
*
* @param {UIAuthConfig} authClientConfig - The configuration for the `UIAuthClient`.
* @param {Store} store - The store for the `UIAuthClient`.
* @param {CryptoUtils} cryptoUtils - The crypto utilities for the `UIAuthClient`.
* @param {Crypto} cryptoUtils - The crypto utilities for the `UIAuthClient`.
* @returns {UIAuthClient} The singleton instance of `UIAuthClient`.
*/
static getInstance(authClientConfig?: UIAuthConfig, store?: Store, cryptoUtils?: CryptoUtils): UIAuthClient {
static getInstance(authClientConfig?: UIAuthConfig, store?: Store, cryptoUtils?: Crypto): UIAuthClient {
if (!AuthClient.instance) {
const DEFAULT_NAME: string = 'carbon.super';

Expand All @@ -50,7 +50,7 @@ export class AuthClient {
enableConsoleBranding: authClientConfig?.enableConsoleBranding ?? true,
enableConsoleTextBranding: authClientConfig?.enableConsoleTextBranding ?? true,
name: authClientConfig?.name ?? DEFAULT_NAME,
responseMode: ResponseMode.direct,
responseMode: ResponseMode.Direct,
type: authClientConfig?.type ?? BrandingPreferenceTypes.Org,
};

Expand All @@ -63,4 +63,4 @@ export class AuthClient {
}

/* Interfaces, classes and enums required from the auth-js package */
export {CryptoUtils, JWKInterface, Store, AsgardeoAuthClient, TokenResponse, ResponseMode} from '@asgardeo/auth-js';
export {Crypto, JWKInterface, Store, AsgardeoAuthClient, TokenResponse, ResponseMode} from '@asgardeo/auth-js';
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions packages/__legacy__/react/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../../.editorconfig
2 changes: 2 additions & 0 deletions packages/__legacy__/react/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/dist
/node_modules
48 changes: 48 additions & 0 deletions packages/__legacy__/react/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/**
* Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

const path = require('path');

module.exports = {
extends: [
'plugin:@wso2/typescript',
'plugin:@wso2/react',
'plugin:@wso2/strict',
'plugin:@wso2/internal',
'plugin:@wso2/prettier',
'plugin:@wso2/jest',
'plugin:react/jsx-runtime',
],
parserOptions: {
project: [path.resolve(__dirname, 'tsconfig.lib.json'), path.resolve(__dirname, 'tsconfig.eslint.json')],
},
plugins: ['@wso2'],
rules: {
// In `SignIn.tsx` we are using non dot notation to access the object properties.
// TODO: Refactor the code to use dot notation.
'@typescript-eslint/dot-notation': 'off',
// We are throwing custom exceptions in the codebase.
// Hence, turning this off to avoid linting errors. (https://eslint.org/docs/latest/rules/no-throw-literal#known-limitations)
'@typescript-eslint/no-throw-literal': 'off',
// TODO: Fix this and enable.
// Occurred while linting /packages/react/src/utils/crypto-utils.ts:33
// Rule: "@typescript-eslint/no-useless-constructor"
'@typescript-eslint/no-useless-constructor': 'off',
'class-methods-use-this': 'off',
},
};
Loading
Loading