@oxyhq/services 22.12.5 → 22.13.1
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 +90 -10
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/notifications/deviceNotifications.js +424 -0
- package/lib/commonjs/notifications/deviceNotifications.js.map +1 -0
- 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 +74 -1124
- 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/OxySignInRequestSurface.js +147 -0
- package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -0
- 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 +106 -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 +61 -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 +153 -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 +70 -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 +3 -2
- 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 +33 -49
- package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
- package/lib/module/index.js +27 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/notifications/deviceNotifications.js +414 -0
- package/lib/module/notifications/deviceNotifications.js.map +1 -0
- 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 +78 -1129
- 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/OxySignInRequestSurface.js +141 -0
- package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -0
- 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 +101 -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 +57 -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 +143 -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 +66 -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 +4 -3
- 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 +35 -50
- package/lib/module/ui/utils/oauthReturn.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +9 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts +173 -0
- package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts.map +1 -0
- 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 +23 -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/OxySignInRequestSurface.d.ts +108 -0
- package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
- 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 +36 -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 +58 -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 +103 -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 +11 -16
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +9 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/notifications/deviceNotifications.d.ts +173 -0
- package/lib/typescript/module/notifications/deviceNotifications.d.ts.map +1 -0
- 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 +23 -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/OxySignInRequestSurface.d.ts +108 -0
- package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
- 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 +36 -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 +58 -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 +103 -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 +11 -16
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
- package/package.json +18 -10
- package/src/index.ts +51 -5
- package/src/notifications/deviceNotifications.ts +458 -0
- 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 +102 -1231
- 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/OxySignInRequestSurface.tsx +202 -0
- 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 +121 -0
- package/src/ui/components/authChooser/SignInRequestView.tsx +130 -0
- package/src/ui/components/authChooser/SignUpView.tsx +174 -0
- package/src/ui/components/authChooser/TroubleDisclosure.tsx +73 -0
- package/src/ui/components/authChooser/primitives.tsx +144 -0
- package/src/ui/components/authChooser/requestSurfaces.tsx +120 -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 +120 -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 +7 -6
- package/src/ui/utils/deliveryPlatform.ts +65 -0
- package/src/ui/utils/oauthReturn.ts +38 -62
- 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":[]}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.OxySignInRequestSurface = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _button = require("@oxyhq/bloom/button");
|
|
9
|
+
var _theme = require("@oxyhq/bloom/theme");
|
|
10
|
+
var _typography = require("@oxyhq/bloom/typography");
|
|
11
|
+
var _useI18n = require("../hooks/useI18n.js");
|
|
12
|
+
var _TroubleDisclosure = _interopRequireDefault(require("./authChooser/TroubleDisclosure.js"));
|
|
13
|
+
var _primitives = require("./authChooser/primitives.js");
|
|
14
|
+
var _requestSurfaces = require("./authChooser/requestSurfaces.js");
|
|
15
|
+
var _signInProgress = require("./authChooser/signInProgress.js");
|
|
16
|
+
var _styles = require("./authChooser/styles.js");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
/**
|
|
20
|
+
* `OxySignInRequestSurface` — the in-flight "Sign in with Oxy" request, rendered
|
|
21
|
+
* from plain facts (issue #691, Phase 5).
|
|
22
|
+
*
|
|
23
|
+
* The user already performed their one action. From here the surface only
|
|
24
|
+
* REPORTS: the route-appropriate primary visual, the status line for the
|
|
25
|
+
* progress it was told about, and nothing else at the same weight. Alternatives
|
|
26
|
+
* stay behind "Having trouble?" until the chosen route could not be carried out,
|
|
27
|
+
* at which point they ARE the content and render plainly.
|
|
28
|
+
*
|
|
29
|
+
* PRESENTATIONAL AND HEADLESS-FRIENDLY. It owns no request, no controller, no
|
|
30
|
+
* polling, and no state of its own: everything it draws is a prop. That is what
|
|
31
|
+
* lets the two hosts of this surface share ONE implementation —
|
|
32
|
+
*
|
|
33
|
+
* - `OxyAuthChooser`'s `SignInRequestView`, driven by `AccountDialogController`'s
|
|
34
|
+
* device flow;
|
|
35
|
+
* - the auth.oxy.so IdP's OAuth-bound lane, whose request carries an OAuth
|
|
36
|
+
* binding the account dialog's session has no concept of.
|
|
37
|
+
*
|
|
38
|
+
* It resolves only what every `@oxyhq/services` consumer already has in context:
|
|
39
|
+
* the Bloom theme (`useTheme`) and the SDK's own locale dictionary (`useI18n`,
|
|
40
|
+
* the `accountSwitcher.*` copy in all 11 locales). Host-specific copy — the
|
|
41
|
+
* labels on {@link OxySignInRequestSurfaceProps.subordinate} and
|
|
42
|
+
* {@link OxySignInRequestSurfaceProps.alternatives} — arrives already localized.
|
|
43
|
+
*
|
|
44
|
+
* TWO THINGS IT DELIBERATELY DOES NOT DO:
|
|
45
|
+
* - it renders no failure REASON. A host surfaces that the way its own shell
|
|
46
|
+
* demands (the account dialog toasts it — errors never render inline there;
|
|
47
|
+
* a full page may show a banner around this surface). The surface only takes
|
|
48
|
+
* the fact that the request failed, and offers the way forward.
|
|
49
|
+
* - it derives nothing from {@link OxySignInRequestSurfaceProps.qrPayload}.
|
|
50
|
+
* Application identity, origin, and scopes are resolved server-side by the
|
|
51
|
+
* approver (Commons), never read out of a payload here — the plate encodes it
|
|
52
|
+
* and shows nothing about it.
|
|
53
|
+
*
|
|
54
|
+
* SECRETS: every prop is safe to render. There is no `sessionToken` (the secret
|
|
55
|
+
* claim/finalize credential), no bearer, and no authorization code — a host
|
|
56
|
+
* keeps those in its own controller, and no prop on this component invites one.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
/** Shared empty list, so an omitted action bundle allocates nothing per render. */
|
|
60
|
+
const NO_ACTIONS = [];
|
|
61
|
+
const OxySignInRequestSurface = ({
|
|
62
|
+
route,
|
|
63
|
+
progress,
|
|
64
|
+
qrPayload = null,
|
|
65
|
+
routeFailed = false,
|
|
66
|
+
failed = false,
|
|
67
|
+
onRetry,
|
|
68
|
+
onAcquireCommons,
|
|
69
|
+
subordinate = NO_ACTIONS,
|
|
70
|
+
alternatives = NO_ACTIONS
|
|
71
|
+
}) => {
|
|
72
|
+
const theme = (0, _theme.useTheme)();
|
|
73
|
+
const {
|
|
74
|
+
t
|
|
75
|
+
} = (0, _useI18n.useI18n)();
|
|
76
|
+
const subordinateLinks = subordinate.map(action => /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
|
|
77
|
+
label: action.label,
|
|
78
|
+
theme: theme,
|
|
79
|
+
onPress: action.onPress,
|
|
80
|
+
disabled: action.disabled,
|
|
81
|
+
testID: action.key
|
|
82
|
+
}, action.key));
|
|
83
|
+
|
|
84
|
+
// A failed request has no working primary route left. Its REASON is the host's
|
|
85
|
+
// to surface (toast / banner); all this owes the user is the way forward.
|
|
86
|
+
if (failed) {
|
|
87
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
88
|
+
style: _styles.authChooserStyles.centeredBlock,
|
|
89
|
+
children: [onRetry ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
90
|
+
variant: "primary",
|
|
91
|
+
onPress: onRetry,
|
|
92
|
+
style: _styles.authChooserStyles.primaryButton,
|
|
93
|
+
children: t('common.actions.tryAgain')
|
|
94
|
+
}) : null, subordinateLinks, /*#__PURE__*/(0, _jsxRuntime.jsx)(_TroubleDisclosure.default, {
|
|
95
|
+
actions: alternatives,
|
|
96
|
+
revealed: true,
|
|
97
|
+
theme: theme,
|
|
98
|
+
t: t
|
|
99
|
+
})]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Commons is absent: acquiring it IS the primary route, not a fallback, so it
|
|
104
|
+
// renders as the one primary action and no route progress is reported (there is
|
|
105
|
+
// no route to report on until the host says otherwise).
|
|
106
|
+
if (onAcquireCommons) {
|
|
107
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
108
|
+
style: _styles.authChooserStyles.centeredBlock,
|
|
109
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_requestSurfaces.GetCommonsPrompt, {
|
|
110
|
+
theme: theme,
|
|
111
|
+
t: t,
|
|
112
|
+
onGetCommons: onAcquireCommons
|
|
113
|
+
}), subordinateLinks, /*#__PURE__*/(0, _jsxRuntime.jsx)(_TroubleDisclosure.default, {
|
|
114
|
+
actions: alternatives,
|
|
115
|
+
revealed: false,
|
|
116
|
+
theme: theme,
|
|
117
|
+
t: t
|
|
118
|
+
})]
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
const status = (0, _signInProgress.signInProgressLabel)(progress, route, t);
|
|
122
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
123
|
+
style: _styles.authChooserStyles.centeredBlock,
|
|
124
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_requestSurfaces.RequestPrimarySurface, {
|
|
125
|
+
route: route,
|
|
126
|
+
progress: progress,
|
|
127
|
+
qrPayload: qrPayload,
|
|
128
|
+
theme: theme,
|
|
129
|
+
t: t
|
|
130
|
+
}), status ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
131
|
+
style: [_styles.authChooserStyles.mutedText, {
|
|
132
|
+
color: theme.colors.textSecondary
|
|
133
|
+
}],
|
|
134
|
+
accessibilityLiveRegion: "polite",
|
|
135
|
+
testID: "signin-progress",
|
|
136
|
+
children: status
|
|
137
|
+
}) : null, subordinateLinks, /*#__PURE__*/(0, _jsxRuntime.jsx)(_TroubleDisclosure.default, {
|
|
138
|
+
actions: alternatives,
|
|
139
|
+
revealed: routeFailed,
|
|
140
|
+
theme: theme,
|
|
141
|
+
t: t
|
|
142
|
+
})]
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
exports.OxySignInRequestSurface = OxySignInRequestSurface;
|
|
146
|
+
var _default = exports.default = OxySignInRequestSurface;
|
|
147
|
+
//# sourceMappingURL=OxySignInRequestSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_button","_theme","_typography","_useI18n","_TroubleDisclosure","_interopRequireDefault","_primitives","_requestSurfaces","_signInProgress","_styles","_jsxRuntime","e","__esModule","default","NO_ACTIONS","OxySignInRequestSurface","route","progress","qrPayload","routeFailed","failed","onRetry","onAcquireCommons","subordinate","alternatives","theme","useTheme","t","useI18n","subordinateLinks","map","action","jsx","SubtleLink","label","onPress","disabled","testID","key","jsxs","View","style","styles","centeredBlock","children","Button","variant","primaryButton","actions","revealed","GetCommonsPrompt","onGetCommons","status","signInProgressLabel","RequestPrimarySurface","Text","mutedText","color","colors","textSecondary","accessibilityLiveRegion","exports","_default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInRequestSurface.tsx"],"mappings":"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","ignoreList":[]}
|