@oxyhq/services 22.12.4 → 22.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -46
- package/lib/commonjs/index.js +18 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
- package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/commonjs/ui/client.js +0 -13
- package/lib/commonjs/ui/client.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAuthChooser.js +72 -1123
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +4 -4
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +144 -0
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
- package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +63 -0
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
- package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +149 -0
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
- package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
- package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
- package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/types.js +59 -0
- package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +205 -30
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
- package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
- package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/commonjs/ui/index.js +0 -13
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
- package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
- package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
- package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
- package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
- package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
- package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
- package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
- package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
- package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
- package/lib/commonjs/ui/oauth/types.js +2 -0
- package/lib/commonjs/ui/oauth/types.js.map +1 -0
- package/lib/commonjs/ui/server.js +2 -5
- package/lib/commonjs/ui/server.js.map +1 -1
- package/lib/commonjs/ui/session/authStore.js +6 -75
- package/lib/commonjs/ui/session/authStore.js.map +1 -1
- package/lib/commonjs/ui/session/createSessionClient.js +11 -3
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/commonjs/ui/session/identityBinding.js +95 -0
- package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
- package/lib/commonjs/ui/session/index.js +13 -0
- package/lib/commonjs/ui/session/index.js.map +1 -1
- package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
- package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
- package/lib/commonjs/ui/session/tokenTransport.js +11 -1
- package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
- package/lib/commonjs/ui/utils/crossOriginRestore.js +5 -4
- package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
- package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
- package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
- package/lib/commonjs/ui/utils/oauthReturn.js +72 -46
- package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
- package/lib/module/index.js +9 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
- package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/module/ui/client.js +0 -1
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
- package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/module/ui/components/OxyAuthChooser.js +76 -1128
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxyConsentScreen.js +50 -12
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +4 -4
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +76 -42
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
- package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignInRequestView.js +139 -0
- package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
- package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js +59 -0
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
- package/lib/module/ui/components/authChooser/primitives.js +163 -0
- package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
- package/lib/module/ui/components/authChooser/requestSurfaces.js +139 -0
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
- package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
- package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
- package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
- package/lib/module/ui/components/authChooser/styles.js.map +1 -0
- package/lib/module/ui/components/authChooser/types.js +55 -0
- package/lib/module/ui/components/authChooser/types.js.map +1 -0
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +208 -33
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/commitSessionFlow.js +45 -0
- package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
- package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/module/ui/index.js +0 -1
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
- package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
- package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
- package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
- package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
- package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
- package/lib/module/ui/oauth/oauthHandshake.js +50 -0
- package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
- package/lib/module/ui/oauth/oauthPopup.js +268 -0
- package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
- package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
- package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
- package/lib/module/ui/oauth/types.js +2 -0
- package/lib/module/ui/oauth/types.js.map +1 -0
- package/lib/module/ui/server.js +0 -2
- package/lib/module/ui/server.js.map +1 -1
- package/lib/module/ui/session/authStore.js +5 -75
- package/lib/module/ui/session/authStore.js.map +1 -1
- package/lib/module/ui/session/createSessionClient.js +11 -3
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/ui/session/identityBinding.js +89 -0
- package/lib/module/ui/session/identityBinding.js.map +1 -0
- package/lib/module/ui/session/index.js +5 -2
- package/lib/module/ui/session/index.js.map +1 -1
- package/lib/module/ui/session/nativeSecureStorage.js +88 -0
- package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
- package/lib/module/ui/session/tokenTransport.js +11 -1
- package/lib/module/ui/session/tokenTransport.js.map +1 -1
- package/lib/module/ui/utils/crossOriginRestore.js +6 -5
- package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
- package/lib/module/ui/utils/deliveryPlatform.js +55 -0
- package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
- package/lib/module/ui/utils/oauthReturn.js +73 -47
- package/lib/module/ui/utils/oauthReturn.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/client.d.ts +0 -1
- package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +21 -29
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +54 -0
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
- package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
- package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +85 -0
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
- package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +0 -1
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
- package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
- package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
- package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
- package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/server.d.ts +0 -2
- package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
- package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
- package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
- package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
- package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
- package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +0 -1
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +21 -29
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +54 -0
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
- package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
- package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/types.d.ts +85 -0
- package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
- package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +0 -1
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
- package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
- package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
- package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
- package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
- package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
- package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
- package/lib/typescript/module/ui/server.d.ts +0 -2
- package/lib/typescript/module/ui/server.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
- package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
- package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/index.d.ts +6 -2
- package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
- package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
- package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
- package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
- package/package.json +6 -8
- package/src/index.ts +19 -5
- package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
- package/src/ui/boot/runProviderColdBoot.ts +83 -13
- package/src/ui/client.ts +0 -1
- package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
- package/src/ui/components/OxyAuthChooser.tsx +100 -1230
- package/src/ui/components/OxyConsentScreen.tsx +56 -13
- package/src/ui/components/OxyProvider.tsx +4 -4
- package/src/ui/components/OxySignInButton.tsx +119 -78
- package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
- package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
- package/src/ui/components/authChooser/SignInEntryView.tsx +115 -0
- package/src/ui/components/authChooser/SignInRequestView.tsx +163 -0
- package/src/ui/components/authChooser/SignUpView.tsx +174 -0
- package/src/ui/components/authChooser/TroubleDisclosure.tsx +81 -0
- package/src/ui/components/authChooser/primitives.tsx +144 -0
- package/src/ui/components/authChooser/requestSurfaces.tsx +116 -0
- package/src/ui/components/authChooser/signInProgress.ts +54 -0
- package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
- package/src/ui/components/authChooser/types.ts +101 -0
- package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
- package/src/ui/context/OxyContext.tsx +226 -24
- package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
- package/src/ui/context/commitSessionFlow.ts +64 -0
- package/src/ui/context/hooks/useAuthOperations.ts +26 -1
- package/src/ui/context/oxyContextTypes.ts +45 -1
- package/src/ui/context/useOxyAccountGraph.ts +19 -5
- package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
- package/src/ui/index.ts +0 -1
- package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
- package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
- package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
- package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
- package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
- package/src/ui/oauth/browserAuthTransport.ts +193 -0
- package/src/ui/oauth/completeOAuthCode.ts +93 -0
- package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
- package/src/ui/oauth/oauthHandshake.ts +74 -0
- package/src/ui/oauth/oauthPopup.ts +277 -0
- package/src/ui/oauth/oauthPopupMessages.ts +136 -0
- package/src/ui/oauth/types.ts +150 -0
- package/src/ui/server.ts +0 -2
- package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
- package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
- package/src/ui/session/authStore.ts +5 -89
- package/src/ui/session/createSessionClient.ts +15 -2
- package/src/ui/session/identityBinding.ts +116 -0
- package/src/ui/session/index.ts +6 -2
- package/src/ui/session/nativeSecureStorage.ts +98 -0
- package/src/ui/session/tokenTransport.ts +14 -1
- package/src/ui/types/navigation.ts +44 -1
- package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
- package/src/ui/utils/crossOriginRestore.ts +9 -13
- package/src/ui/utils/deliveryPlatform.ts +65 -0
- package/src/ui/utils/oauthReturn.ts +79 -65
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/commonjs/ui/components/FontLoader.js +0 -35
- package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
- package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
- package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
- package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/module/ui/components/FontLoader.js +0 -29
- package/lib/module/ui/components/FontLoader.js.map +0 -1
- package/lib/module/ui/components/FontLoader.native.js +0 -83
- package/lib/module/ui/components/FontLoader.native.js.map +0 -1
- package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
- package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/src/ui/components/FontLoader.native.tsx +0 -88
- package/src/ui/components/FontLoader.tsx +0 -27
|
@@ -12,27 +12,19 @@ var _shallow = require("zustand/react/shallow");
|
|
|
12
12
|
var _theme = require("@oxyhq/bloom/theme");
|
|
13
13
|
var _button = require("@oxyhq/bloom/button");
|
|
14
14
|
var _OxyContext = require("../context/OxyContext.js");
|
|
15
|
+
var _useI18n = require("../hooks/useI18n.js");
|
|
15
16
|
var _LogoIcon = require("./logo/LogoIcon.js");
|
|
16
17
|
var _accountDialogManager = require("../navigation/accountDialogManager.js");
|
|
17
18
|
var _oauthNavigation = require("./oauthNavigation.js");
|
|
19
|
+
var _oauthPopup = require("../oauth/oauthPopup.js");
|
|
18
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
21
|
/**
|
|
20
22
|
* The OAuth handshake surfaced to a NATIVE third-party RP via
|
|
21
23
|
* {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
|
|
22
|
-
* (`POST /auth/oauth/token`). Web
|
|
23
|
-
*
|
|
24
|
+
* (`POST /auth/oauth/token`). Web sign-in is handled entirely by the SDK's web
|
|
25
|
+
* transport (`useOxy().startWebOAuthSignIn`) and never uses this callback.
|
|
24
26
|
*/
|
|
25
27
|
|
|
26
|
-
/**
|
|
27
|
-
* Persist the OAuth CSRF `state` + PKCE `code_verifier` for the RP callback.
|
|
28
|
-
* Returns `false` when the handshake could not be stored — no `sessionStorage`
|
|
29
|
-
* (SSR / non-browser host) or a write that threw (`SecurityError` /
|
|
30
|
-
* `QuotaExceededError`, e.g. Safari private mode) — so the caller aborts the
|
|
31
|
-
* flow cleanly rather than redirect to a callback that cannot validate `state`.
|
|
32
|
-
*/
|
|
33
|
-
function persistOAuthHandshakeForButton(state, codeVerifier) {
|
|
34
|
-
return (0, _core.persistOAuthHandshake)(state, codeVerifier);
|
|
35
|
-
}
|
|
36
28
|
/**
|
|
37
29
|
* A pre-styled button component for signing in with Oxy identity
|
|
38
30
|
*
|
|
@@ -62,17 +54,22 @@ const OxySignInButton = ({
|
|
|
62
54
|
onPress,
|
|
63
55
|
style,
|
|
64
56
|
textStyle,
|
|
65
|
-
text
|
|
57
|
+
text,
|
|
66
58
|
disabled = false,
|
|
67
59
|
showWhenAuthenticated = false,
|
|
68
60
|
oauthRedirectUri,
|
|
69
61
|
onOAuthResult
|
|
70
62
|
}) => {
|
|
71
63
|
const theme = (0, _theme.useTheme)();
|
|
64
|
+
const {
|
|
65
|
+
t
|
|
66
|
+
} = (0, _useI18n.useI18n)();
|
|
72
67
|
const {
|
|
73
68
|
openAccountDialog,
|
|
74
69
|
oxyServices,
|
|
75
|
-
clientId
|
|
70
|
+
clientId,
|
|
71
|
+
webAuthMode,
|
|
72
|
+
startWebOAuthSignIn
|
|
76
73
|
} = (0, _OxyContext.useOxy)();
|
|
77
74
|
const {
|
|
78
75
|
isAuthenticated,
|
|
@@ -97,6 +94,11 @@ const OxySignInButton = ({
|
|
|
97
94
|
// redirects, so block a second concurrent press from racing the sessionStorage
|
|
98
95
|
// handshake against a different PKCE pair.
|
|
99
96
|
const routingRef = (0, _react.useRef)(false);
|
|
97
|
+
// Popup mode only opens a window for applications that could actually need
|
|
98
|
+
// one: `oauthRedirectUri` is required for (and only for) third-party OAuth,
|
|
99
|
+
// so an official app never flashes a popup open and closed while its
|
|
100
|
+
// in-app dialog loads.
|
|
101
|
+
const shouldPreOpenPopup = _reactNative.Platform.OS === 'web' && webAuthMode === 'popup' && Boolean(oauthRedirectUri);
|
|
100
102
|
const resolvePublicApplication = (0, _react.useCallback)(() => {
|
|
101
103
|
if (!clientId) return null;
|
|
102
104
|
const cached = appResolutionRef.current;
|
|
@@ -124,41 +126,57 @@ const OxySignInButton = ({
|
|
|
124
126
|
openAccountDialog('signin');
|
|
125
127
|
}, [openAccountDialog]);
|
|
126
128
|
|
|
127
|
-
// Third-party surface: an OAuth 2.0 authorization-code + PKCE
|
|
129
|
+
// Third-party surface: an OAuth 2.0 authorization-code + PKCE flow against
|
|
128
130
|
// auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
|
|
129
|
-
|
|
131
|
+
//
|
|
132
|
+
// Web delegates to the ONE shared transport (`startWebOAuthSignIn`), which
|
|
133
|
+
// owns popup-vs-redirect selection, the popup lifecycle, the code exchange,
|
|
134
|
+
// and the session commit. Native keeps its in-app auth session and hands the
|
|
135
|
+
// handshake to the RP, which owns that exchange.
|
|
136
|
+
const startThirdPartyOAuth = (0, _react.useCallback)(async (app, popup) => {
|
|
130
137
|
if (!clientId) {
|
|
138
|
+
(0, _oauthPopup.closeOAuthPopup)(popup);
|
|
131
139
|
startOfficialSignIn();
|
|
132
140
|
return;
|
|
133
141
|
}
|
|
134
142
|
if (!oauthRedirectUri) {
|
|
135
|
-
|
|
143
|
+
(0, _oauthPopup.closeOAuthPopup)(popup);
|
|
144
|
+
_core.logger.error('OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth flow; sign-in aborted', undefined, {
|
|
136
145
|
component: 'OxySignInButton',
|
|
137
146
|
clientId,
|
|
138
147
|
application: app.name
|
|
139
148
|
});
|
|
140
149
|
return;
|
|
141
150
|
}
|
|
142
|
-
const [pkce, state] = await Promise.all([(0, _core.generatePkcePair)(), (0, _core.generateOAuthState)()]);
|
|
143
|
-
const authorizeUrl = (0, _core.buildOAuthAuthorizeUrl)({
|
|
144
|
-
clientId,
|
|
145
|
-
redirectUri: oauthRedirectUri,
|
|
146
|
-
state,
|
|
147
|
-
codeChallenge: pkce.codeChallenge
|
|
148
|
-
});
|
|
149
151
|
if (_reactNative.Platform.OS === 'web') {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
const result = await startWebOAuthSignIn({
|
|
153
|
+
redirectUri: oauthRedirectUri,
|
|
154
|
+
// In popup mode the window was claimed during the press (see
|
|
155
|
+
// `handlePress`); `null` means the browser blocked it and the
|
|
156
|
+
// transport falls back to a redirect. `undefined` (redirect
|
|
157
|
+
// mode) lets the transport decide for itself.
|
|
158
|
+
...(shouldPreOpenPopup ? {
|
|
159
|
+
popup
|
|
160
|
+
} : {})
|
|
161
|
+
});
|
|
162
|
+
if (result.status === 'failed') {
|
|
163
|
+
_core.logger.warn(`OxySignInButton: web sign-in failed (${result.reason})`, {
|
|
164
|
+
component: 'OxySignInButton',
|
|
165
|
+
application: app.name
|
|
166
|
+
}, result.description);
|
|
155
167
|
}
|
|
156
|
-
(0, _oauthNavigation.redirectToAuthorize)(authorizeUrl);
|
|
157
168
|
return;
|
|
158
169
|
}
|
|
159
170
|
|
|
160
171
|
// Native: open the in-app auth session, then hand the handshake to the
|
|
161
172
|
// RP so it can complete the token exchange from its deep-link callback.
|
|
173
|
+
const [pkce, state] = await Promise.all([(0, _core.generatePkcePair)(), (0, _core.generateOAuthState)()]);
|
|
174
|
+
const authorizeUrl = (0, _core.buildOAuthAuthorizeUrl)({
|
|
175
|
+
clientId,
|
|
176
|
+
redirectUri: oauthRedirectUri,
|
|
177
|
+
state,
|
|
178
|
+
codeChallenge: pkce.codeChallenge
|
|
179
|
+
});
|
|
162
180
|
const {
|
|
163
181
|
redirectUrl
|
|
164
182
|
} = await (0, _oauthNavigation.openAuthorizeUrlNative)(authorizeUrl, oauthRedirectUri);
|
|
@@ -174,17 +192,23 @@ const OxySignInButton = ({
|
|
|
174
192
|
component: 'OxySignInButton',
|
|
175
193
|
application: app.name
|
|
176
194
|
});
|
|
177
|
-
}, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn]);
|
|
195
|
+
}, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn, startWebOAuthSignIn, shouldPreOpenPopup]);
|
|
178
196
|
|
|
179
|
-
// Resolve the Application once, then route: third-party → OAuth
|
|
180
|
-
//
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
197
|
+
// Resolve the Application once, then route: third-party → OAuth; first-party
|
|
198
|
+
// / official / unresolved → the in-app dialog. Resolution failure NEVER
|
|
199
|
+
// breaks an official app's sign-in — it falls back to the dialog. Every path
|
|
200
|
+
// that does NOT reach the OAuth lane closes the pre-opened popup, so a
|
|
201
|
+
// mis-routed press can never leave an empty window on screen.
|
|
202
|
+
const routeSignIn = (0, _react.useCallback)(async popup => {
|
|
203
|
+
if (routingRef.current) {
|
|
204
|
+
(0, _oauthPopup.closeOAuthPopup)(popup);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
184
207
|
routingRef.current = true;
|
|
185
208
|
try {
|
|
186
209
|
const resolving = resolvePublicApplication();
|
|
187
210
|
if (!resolving) {
|
|
211
|
+
(0, _oauthPopup.closeOAuthPopup)(popup);
|
|
188
212
|
startOfficialSignIn();
|
|
189
213
|
return;
|
|
190
214
|
}
|
|
@@ -192,6 +216,7 @@ const OxySignInButton = ({
|
|
|
192
216
|
try {
|
|
193
217
|
app = await resolving;
|
|
194
218
|
} catch (error) {
|
|
219
|
+
(0, _oauthPopup.closeOAuthPopup)(popup);
|
|
195
220
|
_core.logger.warn('OxySignInButton: could not resolve the application; opening the sign-in dialog', {
|
|
196
221
|
component: 'OxySignInButton',
|
|
197
222
|
clientId
|
|
@@ -200,9 +225,10 @@ const OxySignInButton = ({
|
|
|
200
225
|
return;
|
|
201
226
|
}
|
|
202
227
|
if (app.type === 'third_party' && !app.isOfficial) {
|
|
203
|
-
await startThirdPartyOAuth(app);
|
|
228
|
+
await startThirdPartyOAuth(app, popup);
|
|
204
229
|
return;
|
|
205
230
|
}
|
|
231
|
+
(0, _oauthPopup.closeOAuthPopup)(popup);
|
|
206
232
|
startOfficialSignIn();
|
|
207
233
|
} finally {
|
|
208
234
|
routingRef.current = false;
|
|
@@ -210,13 +236,17 @@ const OxySignInButton = ({
|
|
|
210
236
|
}, [resolvePublicApplication, startOfficialSignIn, startThirdPartyOAuth, clientId]);
|
|
211
237
|
|
|
212
238
|
// Defer to a caller-supplied handler, otherwise route by application type.
|
|
239
|
+
//
|
|
240
|
+
// The popup is opened HERE, synchronously, before the async application
|
|
241
|
+
// resolve: `window.open` only survives while the click is still being
|
|
242
|
+
// handled, so a window opened after that first `await` is silently blocked.
|
|
213
243
|
const handlePress = (0, _react.useCallback)(() => {
|
|
214
244
|
if (onPress) {
|
|
215
245
|
onPress();
|
|
216
246
|
return;
|
|
217
247
|
}
|
|
218
|
-
void routeSignIn();
|
|
219
|
-
}, [onPress, routeSignIn]);
|
|
248
|
+
void routeSignIn(shouldPreOpenPopup ? (0, _oauthPopup.openOAuthPopup)() : null);
|
|
249
|
+
}, [onPress, routeSignIn, shouldPreOpenPopup]);
|
|
220
250
|
|
|
221
251
|
// Don't show the button if already authenticated (unless explicitly overridden)
|
|
222
252
|
if (isAuthenticated && !showWhenAuthenticated) return null;
|
|
@@ -231,6 +261,10 @@ const OxySignInButton = ({
|
|
|
231
261
|
const isContained = variant === 'contained';
|
|
232
262
|
const logoColor = isContained ? '#ffffff' : theme.colors.primary;
|
|
233
263
|
const logoLetterColor = isContained ? theme.colors.primary : '#ffffff';
|
|
264
|
+
|
|
265
|
+
// The relying party surfaces exactly ONE primary action, and it reads
|
|
266
|
+
// "Continue with Oxy" (issue #691). A caller-supplied `text` still wins.
|
|
267
|
+
const label = text ?? t('accountSwitcher.continueWithOxy');
|
|
234
268
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
235
269
|
variant: buttonVariant,
|
|
236
270
|
onPress: handlePress,
|
|
@@ -247,7 +281,7 @@ const OxySignInButton = ({
|
|
|
247
281
|
marginRight: 10
|
|
248
282
|
}
|
|
249
283
|
}),
|
|
250
|
-
children: isLoading || isModalOpen ? '
|
|
284
|
+
children: isLoading || isModalOpen ? t('signin.status.signingIn') : label
|
|
251
285
|
});
|
|
252
286
|
};
|
|
253
287
|
exports.OxySignInButton = OxySignInButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_core","_authStore","_shallow","_theme","_button","_OxyContext","_LogoIcon","_accountDialogManager","_oauthNavigation","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_core","_authStore","_shallow","_theme","_button","_OxyContext","_useI18n","_LogoIcon","_accountDialogManager","_oauthNavigation","_oauthPopup","_jsxRuntime","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","useTheme","t","useI18n","openAccountDialog","oxyServices","clientId","webAuthMode","startWebOAuthSignIn","useOxy","isAuthenticated","isLoading","useAuthStore","useShallow","state","isModalOpen","setIsModalOpen","useState","useEffect","subscribeToAccountDialog","appResolutionRef","useRef","routingRef","shouldPreOpenPopup","Platform","OS","Boolean","resolvePublicApplication","useCallback","cached","current","promise","getPublicApplication","catch","error","startOfficialSignIn","startThirdPartyOAuth","app","popup","closeOAuthPopup","logger","undefined","component","application","name","result","redirectUri","status","warn","reason","description","pkce","Promise","all","generatePkcePair","generateOAuthState","authorizeUrl","buildOAuthAuthorizeUrl","codeChallenge","redirectUrl","openAuthorizeUrlNative","codeVerifier","routeSignIn","resolving","type","isOfficial","handlePress","openOAuthPopup","isButtonDisabled","buttonVariant","isContained","logoColor","colors","primary","logoLetterColor","label","jsx","Button","fontWeight","icon","LogoIcon","height","color","letterColor","marginRight","children","exports","_default","default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
|