@oxy.so/services 13.8.0 → 13.9.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/lib/commonjs/index.js +10 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/OxyDeviceSignIn.js +192 -0
- package/lib/commonjs/ui/components/OxyDeviceSignIn.js.map +1 -0
- package/lib/commonjs/ui/hooks/accountDialogSnapshot.js +1 -0
- package/lib/commonjs/ui/hooks/accountDialogSnapshot.js.map +1 -1
- package/lib/commonjs/ui/index.js +7 -0
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/OxyDeviceSignIn.js +188 -0
- package/lib/module/ui/components/OxyDeviceSignIn.js.map +1 -0
- package/lib/module/ui/hooks/accountDialogSnapshot.js +1 -0
- package/lib/module/ui/hooks/accountDialogSnapshot.js.map +1 -1
- package/lib/module/ui/index.js +1 -0
- package/lib/module/ui/index.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyDeviceSignIn.d.ts +29 -0
- package/lib/typescript/commonjs/ui/components/OxyDeviceSignIn.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyDeviceSignIn.d.ts +29 -0
- package/lib/typescript/module/ui/components/OxyDeviceSignIn.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +4 -0
- package/src/ui/components/OxyDeviceSignIn.tsx +172 -0
- package/src/ui/hooks/accountDialogSnapshot.ts +1 -0
- package/src/ui/index.ts +2 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -129,6 +129,12 @@ Object.defineProperty(exports, "OxyDeleteAccountPanel", {
|
|
|
129
129
|
return _OxyDeleteAccountPanel.OxyDeleteAccountPanel;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
|
+
Object.defineProperty(exports, "OxyDeviceSignIn", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () {
|
|
135
|
+
return _OxyDeviceSignIn.OxyDeviceSignIn;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
132
138
|
Object.defineProperty(exports, "OxyEmailPanel", {
|
|
133
139
|
enumerable: true,
|
|
134
140
|
get: function () {
|
|
@@ -937,6 +943,7 @@ var _errorHandlers = require("./ui/utils/errorHandlers.js");
|
|
|
937
943
|
var _useFileFiltering = require("./ui/hooks/useFileFiltering.js");
|
|
938
944
|
var _core = require("@oxy.so/core");
|
|
939
945
|
var _OxySignInButton = _interopRequireDefault(require("./ui/components/OxySignInButton.js"));
|
|
946
|
+
var _OxyDeviceSignIn = require("./ui/components/OxyDeviceSignIn.js");
|
|
940
947
|
var _oauthPopup = require("./ui/oauth/oauthPopup.js");
|
|
941
948
|
var _OxyAuthPrompt = require("./ui/components/OxyAuthPrompt.js");
|
|
942
949
|
var _OxyOAuthCallback = require("./ui/components/OxyOAuthCallback.js");
|
|
@@ -1095,6 +1102,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
1095
1102
|
// UI components
|
|
1096
1103
|
// ---------------------------------------------------------------------------
|
|
1097
1104
|
|
|
1105
|
+
// Sign-in on a device with no keyboard (a TV, a photo frame): a large QR any
|
|
1106
|
+
// phone camera opens, the request's https approval page, and the code to compare.
|
|
1107
|
+
|
|
1098
1108
|
// Web OAuth transport (popup / redirect). RPs that ship their own sign-in
|
|
1099
1109
|
// button call `useOxy().startWebOAuthSignIn(...)`; only the popup opener is
|
|
1100
1110
|
// exported, because it MUST run synchronously inside the press handler to keep
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_routes","_screenComponents","_OxyProvider","_interopRequireDefault","_OxyContext","_index","_useAuth","_AppAssertionContext","_productAnalytics","_identityBinding","_authStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_core","_OxySignInButton","_oauthPopup","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_FollowTargetButton","_followRules","_followLabels","_useFollowTarget","_followTargetStore","_PeableButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxySignInPanel","_OxySignUpPanel","_OxyAccountPicker","_OxySignInSecurityPanel","_OxyEmailPanel","_OxyDeleteAccountPanel","_OxyLinkCommonsPanel","_OxyPasswordPanel","_OxyAuthenticatorPanel","_OxyAuthScreen","_OxySignInRequestSurface","_useDeviceSwitcher","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","_usePersonalPlans","_AccountInvitationAcceptance","_DisplayCurrencySelector","_useDisplayCurrency","_useDisplayPrice","e","__esModule","default","registerScreens","screenComponents"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["require","_routes","_screenComponents","_OxyProvider","_interopRequireDefault","_OxyContext","_index","_useAuth","_AppAssertionContext","_productAnalytics","_identityBinding","_authStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_core","_OxySignInButton","_OxyDeviceSignIn","_oauthPopup","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_FollowTargetButton","_followRules","_followLabels","_useFollowTarget","_followTargetStore","_PeableButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxySignInPanel","_OxySignUpPanel","_OxyAccountPicker","_OxySignInSecurityPanel","_OxyEmailPanel","_OxyDeleteAccountPanel","_OxyLinkCommonsPanel","_OxyPasswordPanel","_OxyAuthenticatorPanel","_OxyAuthScreen","_OxySignInRequestSurface","_useDeviceSwitcher","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","_usePersonalPlans","_AccountInvitationAcceptance","_DisplayCurrencySelector","_useDisplayCurrency","_useDisplayPrice","e","__esModule","default","registerScreens","screenComponents"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OxyDeviceSignIn = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeQrcodeSvg = _interopRequireDefault(require("react-native-qrcode-svg"));
|
|
10
|
+
var _button = require("@oxy.so/bloom/button");
|
|
11
|
+
var _code = require("@oxy.so/bloom/code");
|
|
12
|
+
var _RiCheckboxCircleLine = require("@oxy.so/bloom/icons/RiCheckboxCircleLine");
|
|
13
|
+
var _RiRefreshLine = require("@oxy.so/bloom/icons/RiRefreshLine");
|
|
14
|
+
var _loading = require("@oxy.so/bloom/loading");
|
|
15
|
+
var _theme = require("@oxy.so/bloom/theme");
|
|
16
|
+
var _typography = require("@oxy.so/bloom/typography");
|
|
17
|
+
var _oxyRuntimeContext = require("../context/oxyRuntimeContext.js");
|
|
18
|
+
var _useI18n = require("../hooks/useI18n.js");
|
|
19
|
+
var _accountDialogSnapshot = require("../hooks/accountDialogSnapshot.js");
|
|
20
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
+
/**
|
|
23
|
+
* Sign-in for a device with no keyboard — a TV, a photo frame, a kiosk: a large
|
|
24
|
+
* QR that any phone camera opens, and the code to compare on the phone.
|
|
25
|
+
*
|
|
26
|
+
* The QR encodes the request's https approval page
|
|
27
|
+
* (`signIn.approvalUrl`, `auth.oxy.so/device?user_code=…`), not the
|
|
28
|
+
* `oxycommons://` deep link the account dialog shows: whoever scans a frame may
|
|
29
|
+
* not have Commons, and the page works in any phone browser. It prints the same
|
|
30
|
+
* code this surface shows, so the person can check they are approving THIS
|
|
31
|
+
* screen before they press Allow there.
|
|
32
|
+
*
|
|
33
|
+
* It owns one QR-only request (`controller.startInlineQr()`), exactly like the
|
|
34
|
+
* sign-in entry's embedded QR (`signIn/InlineCommonsQr.tsx`): started on mount,
|
|
35
|
+
* renewed when it expires, withdrawn on unmount while it is still approvable.
|
|
36
|
+
* It never pushes to a phone or opens Commons. On approval the controller
|
|
37
|
+
* claims the session and `OxyProvider` signs the app in, so the host simply
|
|
38
|
+
* stops rendering this.
|
|
39
|
+
*
|
|
40
|
+
* Anti-phishing: the plate encodes `signIn.approvalUrl` and the code line shows
|
|
41
|
+
* `signIn.authorizeCode`, both PUBLIC; nothing about the application is read out
|
|
42
|
+
* of either here. The secret `sessionToken` never leaves the controller.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
/** High-contrast, un-themed on purpose: scan reliability. */const QR_PLATE_BG = '#FFFFFF';
|
|
46
|
+
const QR_FOREGROUND = '#000000';
|
|
47
|
+
/** Big enough to scan from across a room at the default size. */
|
|
48
|
+
const DEFAULT_QR_SIZE = 280;
|
|
49
|
+
/** The quiet zone around the symbol, as a fraction of its size. */
|
|
50
|
+
const PLATE_PADDING_RATIO = 0.06;
|
|
51
|
+
const OxyDeviceSignIn = ({
|
|
52
|
+
size = DEFAULT_QR_SIZE
|
|
53
|
+
}) => {
|
|
54
|
+
const theme = (0, _theme.useTheme)();
|
|
55
|
+
const {
|
|
56
|
+
t
|
|
57
|
+
} = (0, _useI18n.useI18n)();
|
|
58
|
+
const {
|
|
59
|
+
accountDialogController: controller
|
|
60
|
+
} = (0, _oxyRuntimeContext.useOxy)();
|
|
61
|
+
const {
|
|
62
|
+
signIn
|
|
63
|
+
} = (0, _accountDialogSnapshot.useAccountDialogSnapshot)(controller);
|
|
64
|
+
const live = signIn.inline && (signIn.phase === 'starting' || signIn.phase === 'waiting');
|
|
65
|
+
const expired = signIn.inline && signIn.phase === 'error' && signIn.failure === 'expired';
|
|
66
|
+
|
|
67
|
+
// One request for as long as this is on screen. Withdrawn on the way out only
|
|
68
|
+
// while it is still ours and still approvable.
|
|
69
|
+
(0, _react.useEffect)(() => {
|
|
70
|
+
if (!controller) return;
|
|
71
|
+
const {
|
|
72
|
+
signIn: current
|
|
73
|
+
} = controller.getSnapshot();
|
|
74
|
+
if (!(current.inline && (current.phase === 'starting' || current.phase === 'waiting'))) {
|
|
75
|
+
void controller.startInlineQr();
|
|
76
|
+
}
|
|
77
|
+
return () => {
|
|
78
|
+
const {
|
|
79
|
+
signIn: last
|
|
80
|
+
} = controller.getSnapshot();
|
|
81
|
+
if (last.inline && (last.phase === 'starting' || last.phase === 'waiting')) controller.cancelSignIn();
|
|
82
|
+
};
|
|
83
|
+
}, [controller]);
|
|
84
|
+
|
|
85
|
+
// A code only lives a few minutes; an expired one is replaced, not reported.
|
|
86
|
+
(0, _react.useEffect)(() => {
|
|
87
|
+
if (controller && expired) void controller.startInlineQr();
|
|
88
|
+
}, [controller, expired]);
|
|
89
|
+
const padding = Math.round(size * PLATE_PADDING_RATIO);
|
|
90
|
+
const showsCode = live && signIn.approvalUrl && signIn.progress !== 'confirming-identity';
|
|
91
|
+
let plate;
|
|
92
|
+
if (signIn.inline && signIn.progress === 'identity-confirmed') {
|
|
93
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_RiCheckboxCircleLine.RiCheckboxCircleLine, {
|
|
94
|
+
size: "3xl",
|
|
95
|
+
fill: theme.colors.success
|
|
96
|
+
});
|
|
97
|
+
} else if (showsCode && signIn.approvalUrl) {
|
|
98
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeQrcodeSvg.default, {
|
|
99
|
+
value: signIn.approvalUrl,
|
|
100
|
+
size: size,
|
|
101
|
+
backgroundColor: QR_PLATE_BG,
|
|
102
|
+
color: QR_FOREGROUND
|
|
103
|
+
});
|
|
104
|
+
} else if (live || expired || signIn.inline && signIn.phase === 'completed') {
|
|
105
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_loading.SpinnerIcon, {
|
|
106
|
+
size: Math.round(size / 6),
|
|
107
|
+
color: QR_FOREGROUND
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
// Failed for a reason renewing will not fix by itself, or superseded and
|
|
111
|
+
// then withdrawn: one press for a new code.
|
|
112
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
113
|
+
appearance: "plain",
|
|
114
|
+
tone: "neutral",
|
|
115
|
+
leadingIcon: _RiRefreshLine.RiRefreshLine,
|
|
116
|
+
onPress: () => void controller?.startInlineQr(),
|
|
117
|
+
testID: "device-sign-in-renew",
|
|
118
|
+
children: t('signin.qr.renew')
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
122
|
+
style: styles.block,
|
|
123
|
+
testID: "oxy-device-sign-in",
|
|
124
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
125
|
+
style: [styles.title, {
|
|
126
|
+
color: theme.colors.text
|
|
127
|
+
}],
|
|
128
|
+
children: t('signin.device.title')
|
|
129
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
130
|
+
style: [styles.caption, {
|
|
131
|
+
color: theme.colors.textSecondary
|
|
132
|
+
}],
|
|
133
|
+
children: t('signin.device.caption')
|
|
134
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
135
|
+
style: [styles.plate, {
|
|
136
|
+
width: size + padding * 2,
|
|
137
|
+
height: size + padding * 2,
|
|
138
|
+
padding
|
|
139
|
+
}],
|
|
140
|
+
children: plate
|
|
141
|
+
}), showsCode && signIn.authorizeCode ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
142
|
+
style: styles.codeBlock,
|
|
143
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
144
|
+
style: [styles.codeHint, {
|
|
145
|
+
color: theme.colors.textSecondary
|
|
146
|
+
}],
|
|
147
|
+
children: t('signin.device.codeHint')
|
|
148
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_code.Code, {
|
|
149
|
+
testID: "device-sign-in-code",
|
|
150
|
+
style: styles.code,
|
|
151
|
+
children: signIn.authorizeCode
|
|
152
|
+
})]
|
|
153
|
+
}) : null]
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
exports.OxyDeviceSignIn = OxyDeviceSignIn;
|
|
157
|
+
const styles = _reactNative.StyleSheet.create({
|
|
158
|
+
block: {
|
|
159
|
+
alignItems: 'center',
|
|
160
|
+
gap: 16
|
|
161
|
+
},
|
|
162
|
+
title: {
|
|
163
|
+
fontSize: 28,
|
|
164
|
+
lineHeight: 34,
|
|
165
|
+
fontWeight: '600',
|
|
166
|
+
textAlign: 'center'
|
|
167
|
+
},
|
|
168
|
+
caption: {
|
|
169
|
+
fontSize: 16,
|
|
170
|
+
lineHeight: 22,
|
|
171
|
+
textAlign: 'center'
|
|
172
|
+
},
|
|
173
|
+
plate: {
|
|
174
|
+
borderRadius: 16,
|
|
175
|
+
backgroundColor: QR_PLATE_BG,
|
|
176
|
+
alignItems: 'center',
|
|
177
|
+
justifyContent: 'center'
|
|
178
|
+
},
|
|
179
|
+
codeBlock: {
|
|
180
|
+
alignItems: 'center',
|
|
181
|
+
gap: 4
|
|
182
|
+
},
|
|
183
|
+
codeHint: {
|
|
184
|
+
fontSize: 13,
|
|
185
|
+
lineHeight: 18,
|
|
186
|
+
textAlign: 'center'
|
|
187
|
+
},
|
|
188
|
+
code: {
|
|
189
|
+
fontSize: 14
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
//# sourceMappingURL=OxyDeviceSignIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeQrcodeSvg","_interopRequireDefault","_button","_code","_RiCheckboxCircleLine","_RiRefreshLine","_loading","_theme","_typography","_oxyRuntimeContext","_useI18n","_accountDialogSnapshot","_jsxRuntime","e","__esModule","default","QR_PLATE_BG","QR_FOREGROUND","DEFAULT_QR_SIZE","PLATE_PADDING_RATIO","OxyDeviceSignIn","size","theme","useTheme","t","useI18n","accountDialogController","controller","useOxy","signIn","useAccountDialogSnapshot","live","inline","phase","expired","failure","useEffect","current","getSnapshot","startInlineQr","last","cancelSignIn","padding","Math","round","showsCode","approvalUrl","progress","plate","jsx","RiCheckboxCircleLine","fill","colors","success","value","backgroundColor","color","SpinnerIcon","Button","appearance","tone","leadingIcon","RiRefreshLine","onPress","testID","children","jsxs","View","style","styles","block","Text","title","text","caption","textSecondary","width","height","authorizeCode","codeBlock","codeHint","Code","code","exports","StyleSheet","create","alignItems","gap","fontSize","lineHeight","fontWeight","textAlign","borderRadius","justifyContent"],"sourceRoot":"../../../../src","sources":["ui/components/OxyDeviceSignIn.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","EMPTY_ACCOUNT_DIALOG_SNAPSHOT","exports","view","backView","hasSession","directory","activeContext","activatingContextId","removingContextId","removingPrincipalId","loading","error","signIn","phase","authorizeCode","qrPayload","expiresAt","failure","route","routeFailed","pushSentAt","openedAt","progress","attempt","inline","commonsAvailability","useAccountDialogSnapshot","controller","subscribe","useCallback","listener","undefined","getSnapshot","useSyncExternalStore"],"sourceRoot":"../../../../src","sources":["ui/hooks/accountDialogSnapshot.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,6BAAoD,GAAAC,OAAA,CAAAD,6BAAA,GAAG;EAClEE,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,IAAI;EACdC,UAAU,EAAE,KAAK;EACjBC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,mBAAmB,EAAE,IAAI;EACzBC,iBAAiB,EAAE,IAAI;EACvBC,mBAAmB,EAAE,IAAI;EACzBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE;IACNC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,IAAI;IACfC,SAAS,EAAE,IAAI;
|
|
1
|
+
{"version":3,"names":["_react","require","EMPTY_ACCOUNT_DIALOG_SNAPSHOT","exports","view","backView","hasSession","directory","activeContext","activatingContextId","removingContextId","removingPrincipalId","loading","error","signIn","phase","authorizeCode","qrPayload","approvalUrl","expiresAt","failure","route","routeFailed","pushSentAt","openedAt","progress","attempt","inline","commonsAvailability","useAccountDialogSnapshot","controller","subscribe","useCallback","listener","undefined","getSnapshot","useSyncExternalStore"],"sourceRoot":"../../../../src","sources":["ui/hooks/accountDialogSnapshot.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,6BAAoD,GAAAC,OAAA,CAAAD,6BAAA,GAAG;EAClEE,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,IAAI;EACdC,UAAU,EAAE,KAAK;EACjBC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,mBAAmB,EAAE,IAAI;EACzBC,iBAAiB,EAAE,IAAI;EACvBC,mBAAmB,EAAE,IAAI;EACzBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE;IACNC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,IAAI;IACfC,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE,IAAI;IACfN,KAAK,EAAE,IAAI;IACXO,OAAO,EAAE,IAAI;IACbC,KAAK,EAAE,IAAI;IACXC,WAAW,EAAE,KAAK;IAClBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE,MAAM;IAChBC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE;EACV,CAAC;EACDC,mBAAmB,EAAE;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CACtCC,UAA0C,EACnB;EACvB,MAAMC,SAAS,GAAG,IAAAC,kBAAW,EAC1BC,QAAoB,IAAMH,UAAU,GAAGA,UAAU,CAACC,SAAS,CAACE,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACJ,UAAU,CACb,CAAC;EACD,MAAMK,WAAW,GAAG,IAAAH,kBAAW,EAC7B,MAAOF,UAAU,GAAGA,UAAU,CAACK,WAAW,CAAC,CAAC,GAAGjC,6BAA8B,EAC7E,CAAC4B,UAAU,CACb,CAAC;EACD,OAAO,IAAAM,2BAAoB,EAACL,SAAS,EAAEI,WAAW,EAAEA,WAAW,CAAC;AAClE","ignoreList":[]}
|
package/lib/commonjs/ui/index.js
CHANGED
|
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "OxyAuthPrompt", {
|
|
|
27
27
|
return _OxyAuthPrompt.default;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "OxyDeviceSignIn", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _OxyDeviceSignIn.OxyDeviceSignIn;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
30
36
|
Object.defineProperty(exports, "OxyPayButton", {
|
|
31
37
|
enumerable: true,
|
|
32
38
|
get: function () {
|
|
@@ -156,6 +162,7 @@ Object.defineProperty(exports, "useSupervision", {
|
|
|
156
162
|
require("../registerPlatform.js");
|
|
157
163
|
var _OxyProvider = _interopRequireDefault(require("./components/OxyProvider.js"));
|
|
158
164
|
var _OxySignInButton = _interopRequireDefault(require("./components/OxySignInButton.js"));
|
|
165
|
+
var _OxyDeviceSignIn = require("./components/OxyDeviceSignIn.js");
|
|
159
166
|
var _OxyAuthPrompt = _interopRequireDefault(require("./components/OxyAuthPrompt.js"));
|
|
160
167
|
var _LogoIcon = require("./components/logo/LogoIcon.js");
|
|
161
168
|
var _LogoText = require("./components/logo/LogoText.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_OxyProvider","_interopRequireDefault","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_RequireOxyAuth","_FollowButton","_PeableButton","_OxyPayButton","_ProfileButton","_OxyContext","_AppAssertionContext","_useAuth","_useFollow","_useStorage","_authStore","_errorHandlers","_useSupervision","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["require","_OxyProvider","_interopRequireDefault","_OxySignInButton","_OxyDeviceSignIn","_OxyAuthPrompt","_LogoIcon","_LogoText","_RequireOxyAuth","_FollowButton","_PeableButton","_OxyPayButton","_ProfileButton","_OxyContext","_AppAssertionContext","_useAuth","_useFollow","_useStorage","_authStore","_errorHandlers","_useSupervision","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBAA,OAAA;AASA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAH,sBAAA,CAAAF,OAAA;AAEA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAIA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,aAAA,GAAAR,sBAAA,CAAAF,OAAA;AAGA,IAAAW,aAAA,GAAAT,sBAAA,CAAAF,OAAA;AAGA,IAAAY,cAAA,GAAAV,sBAAA,CAAAF,OAAA;AAGA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,oBAAA,GAAAd,OAAA;AAEA,IAAAe,QAAA,GAAAf,OAAA;AAEA,IAAAgB,UAAA,GAAAhB,OAAA;AACA,IAAAiB,WAAA,GAAAjB,OAAA;AAOA,IAAAkB,UAAA,GAAAlB,OAAA;AAGA,IAAAmB,cAAA,GAAAnB,OAAA;AAQA,IAAAoB,eAAA,GAAApB,OAAA;AAAsF,SAAAE,uBAAAmB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -145,6 +145,9 @@ export { useFileFiltering } from "./ui/hooks/useFileFiltering.js";
|
|
|
145
145
|
// ---------------------------------------------------------------------------
|
|
146
146
|
export { OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY } from '@oxy.so/core';
|
|
147
147
|
export { default as OxySignInButton } from "./ui/components/OxySignInButton.js";
|
|
148
|
+
// Sign-in on a device with no keyboard (a TV, a photo frame): a large QR any
|
|
149
|
+
// phone camera opens, the request's https approval page, and the code to compare.
|
|
150
|
+
export { OxyDeviceSignIn } from "./ui/components/OxyDeviceSignIn.js";
|
|
148
151
|
// Web OAuth transport (popup / redirect). RPs that ship their own sign-in
|
|
149
152
|
// button call `useOxy().startWebOAuthSignIn(...)`; only the popup opener is
|
|
150
153
|
// exported, because it MUST run synchronously inside the press handler to keep
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["registerScreens","screenComponents","default","OxyProvider","useOxy","useOptionalOxy","OxyProviderMissingError","useOxyRuntime","useOxySnapshot","useActiveAccount","useDeviceDirectory","OxyRuntimeMissingError","useAuth","useAppAssertion","AppAssertionProviderMissingError","createDeferredProductAnalytics","IdentityBoundSessionError","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useSignInMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","clearedFieldsFromAccountUpdate","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","openOAuthPopup","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","FollowTargetButton","buildFollowMenuItems","resolveFollowPrimaryAction","FOLLOW_ACTION_LEAVES_ACTIVE","useFollowErrorMessage","useFollowTarget","useFollowTargetStore","UNKNOWN_FOLLOW_STATUS","isFollowedGlobally","withApplicationMode","isCompleteFollowStatus","followRecordToStatus","followRecordsToStatusMap","PeableButton","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxySignInPanel","OxySignUpPanel","OxyAccountPicker","OxySignInSecurityPanel","OxyEmailPanel","OxyDeleteAccountPanel","OxyLinkCommonsPanel","OxyPasswordPanel","OxyAuthenticatorPanel","OxyAuthScreen","OxyAuthScreenHeader","OxyAuthLoading","OxyAuthTerms","OxySignInRequestSurface","useDeviceSwitcher","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog","usePersonalPlans","usePersonalPlanSubscriptions","AccountInvitationAcceptance","DisplayCurrencySelector","useDisplayCurrency","useDisplayPrice"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["registerScreens","screenComponents","default","OxyProvider","useOxy","useOptionalOxy","OxyProviderMissingError","useOxyRuntime","useOxySnapshot","useActiveAccount","useDeviceDirectory","OxyRuntimeMissingError","useAuth","useAppAssertion","AppAssertionProviderMissingError","createDeferredProductAnalytics","IdentityBoundSessionError","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useSignInMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","clearedFieldsFromAccountUpdate","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","OxyDeviceSignIn","openOAuthPopup","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","FollowTargetButton","buildFollowMenuItems","resolveFollowPrimaryAction","FOLLOW_ACTION_LEAVES_ACTIVE","useFollowErrorMessage","useFollowTarget","useFollowTargetStore","UNKNOWN_FOLLOW_STATUS","isFollowedGlobally","withApplicationMode","isCompleteFollowStatus","followRecordToStatus","followRecordsToStatusMap","PeableButton","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxySignInPanel","OxySignUpPanel","OxyAccountPicker","OxySignInSecurityPanel","OxyEmailPanel","OxyDeleteAccountPanel","OxyLinkCommonsPanel","OxyPasswordPanel","OxyAuthenticatorPanel","OxyAuthScreen","OxyAuthScreenHeader","OxyAuthLoading","OxyAuthTerms","OxySignInRequestSurface","useDeviceSwitcher","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog","usePersonalPlans","usePersonalPlanSubscriptions","AccountInvitationAcceptance","DisplayCurrencySelector","useDisplayCurrency","useDisplayPrice"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Sign-in for a device with no keyboard — a TV, a photo frame, a kiosk: a large
|
|
5
|
+
* QR that any phone camera opens, and the code to compare on the phone.
|
|
6
|
+
*
|
|
7
|
+
* The QR encodes the request's https approval page
|
|
8
|
+
* (`signIn.approvalUrl`, `auth.oxy.so/device?user_code=…`), not the
|
|
9
|
+
* `oxycommons://` deep link the account dialog shows: whoever scans a frame may
|
|
10
|
+
* not have Commons, and the page works in any phone browser. It prints the same
|
|
11
|
+
* code this surface shows, so the person can check they are approving THIS
|
|
12
|
+
* screen before they press Allow there.
|
|
13
|
+
*
|
|
14
|
+
* It owns one QR-only request (`controller.startInlineQr()`), exactly like the
|
|
15
|
+
* sign-in entry's embedded QR (`signIn/InlineCommonsQr.tsx`): started on mount,
|
|
16
|
+
* renewed when it expires, withdrawn on unmount while it is still approvable.
|
|
17
|
+
* It never pushes to a phone or opens Commons. On approval the controller
|
|
18
|
+
* claims the session and `OxyProvider` signs the app in, so the host simply
|
|
19
|
+
* stops rendering this.
|
|
20
|
+
*
|
|
21
|
+
* Anti-phishing: the plate encodes `signIn.approvalUrl` and the code line shows
|
|
22
|
+
* `signIn.authorizeCode`, both PUBLIC; nothing about the application is read out
|
|
23
|
+
* of either here. The secret `sessionToken` never leaves the controller.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import { useEffect } from 'react';
|
|
27
|
+
import { StyleSheet, View } from 'react-native';
|
|
28
|
+
import QRCode from 'react-native-qrcode-svg';
|
|
29
|
+
import { Button } from '@oxy.so/bloom/button';
|
|
30
|
+
import { Code } from '@oxy.so/bloom/code';
|
|
31
|
+
import { RiCheckboxCircleLine } from '@oxy.so/bloom/icons/RiCheckboxCircleLine';
|
|
32
|
+
import { RiRefreshLine } from '@oxy.so/bloom/icons/RiRefreshLine';
|
|
33
|
+
import { SpinnerIcon } from '@oxy.so/bloom/loading';
|
|
34
|
+
import { useTheme } from '@oxy.so/bloom/theme';
|
|
35
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
36
|
+
import { useOxy } from "../context/oxyRuntimeContext.js";
|
|
37
|
+
import { useI18n } from "../hooks/useI18n.js";
|
|
38
|
+
import { useAccountDialogSnapshot } from "../hooks/accountDialogSnapshot.js";
|
|
39
|
+
|
|
40
|
+
/** High-contrast, un-themed on purpose: scan reliability. */
|
|
41
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
42
|
+
const QR_PLATE_BG = '#FFFFFF';
|
|
43
|
+
const QR_FOREGROUND = '#000000';
|
|
44
|
+
/** Big enough to scan from across a room at the default size. */
|
|
45
|
+
const DEFAULT_QR_SIZE = 280;
|
|
46
|
+
/** The quiet zone around the symbol, as a fraction of its size. */
|
|
47
|
+
const PLATE_PADDING_RATIO = 0.06;
|
|
48
|
+
export const OxyDeviceSignIn = ({
|
|
49
|
+
size = DEFAULT_QR_SIZE
|
|
50
|
+
}) => {
|
|
51
|
+
const theme = useTheme();
|
|
52
|
+
const {
|
|
53
|
+
t
|
|
54
|
+
} = useI18n();
|
|
55
|
+
const {
|
|
56
|
+
accountDialogController: controller
|
|
57
|
+
} = useOxy();
|
|
58
|
+
const {
|
|
59
|
+
signIn
|
|
60
|
+
} = useAccountDialogSnapshot(controller);
|
|
61
|
+
const live = signIn.inline && (signIn.phase === 'starting' || signIn.phase === 'waiting');
|
|
62
|
+
const expired = signIn.inline && signIn.phase === 'error' && signIn.failure === 'expired';
|
|
63
|
+
|
|
64
|
+
// One request for as long as this is on screen. Withdrawn on the way out only
|
|
65
|
+
// while it is still ours and still approvable.
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (!controller) return;
|
|
68
|
+
const {
|
|
69
|
+
signIn: current
|
|
70
|
+
} = controller.getSnapshot();
|
|
71
|
+
if (!(current.inline && (current.phase === 'starting' || current.phase === 'waiting'))) {
|
|
72
|
+
void controller.startInlineQr();
|
|
73
|
+
}
|
|
74
|
+
return () => {
|
|
75
|
+
const {
|
|
76
|
+
signIn: last
|
|
77
|
+
} = controller.getSnapshot();
|
|
78
|
+
if (last.inline && (last.phase === 'starting' || last.phase === 'waiting')) controller.cancelSignIn();
|
|
79
|
+
};
|
|
80
|
+
}, [controller]);
|
|
81
|
+
|
|
82
|
+
// A code only lives a few minutes; an expired one is replaced, not reported.
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (controller && expired) void controller.startInlineQr();
|
|
85
|
+
}, [controller, expired]);
|
|
86
|
+
const padding = Math.round(size * PLATE_PADDING_RATIO);
|
|
87
|
+
const showsCode = live && signIn.approvalUrl && signIn.progress !== 'confirming-identity';
|
|
88
|
+
let plate;
|
|
89
|
+
if (signIn.inline && signIn.progress === 'identity-confirmed') {
|
|
90
|
+
plate = /*#__PURE__*/_jsx(RiCheckboxCircleLine, {
|
|
91
|
+
size: "3xl",
|
|
92
|
+
fill: theme.colors.success
|
|
93
|
+
});
|
|
94
|
+
} else if (showsCode && signIn.approvalUrl) {
|
|
95
|
+
plate = /*#__PURE__*/_jsx(QRCode, {
|
|
96
|
+
value: signIn.approvalUrl,
|
|
97
|
+
size: size,
|
|
98
|
+
backgroundColor: QR_PLATE_BG,
|
|
99
|
+
color: QR_FOREGROUND
|
|
100
|
+
});
|
|
101
|
+
} else if (live || expired || signIn.inline && signIn.phase === 'completed') {
|
|
102
|
+
plate = /*#__PURE__*/_jsx(SpinnerIcon, {
|
|
103
|
+
size: Math.round(size / 6),
|
|
104
|
+
color: QR_FOREGROUND
|
|
105
|
+
});
|
|
106
|
+
} else {
|
|
107
|
+
// Failed for a reason renewing will not fix by itself, or superseded and
|
|
108
|
+
// then withdrawn: one press for a new code.
|
|
109
|
+
plate = /*#__PURE__*/_jsx(Button, {
|
|
110
|
+
appearance: "plain",
|
|
111
|
+
tone: "neutral",
|
|
112
|
+
leadingIcon: RiRefreshLine,
|
|
113
|
+
onPress: () => void controller?.startInlineQr(),
|
|
114
|
+
testID: "device-sign-in-renew",
|
|
115
|
+
children: t('signin.qr.renew')
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
119
|
+
style: styles.block,
|
|
120
|
+
testID: "oxy-device-sign-in",
|
|
121
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
122
|
+
style: [styles.title, {
|
|
123
|
+
color: theme.colors.text
|
|
124
|
+
}],
|
|
125
|
+
children: t('signin.device.title')
|
|
126
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
127
|
+
style: [styles.caption, {
|
|
128
|
+
color: theme.colors.textSecondary
|
|
129
|
+
}],
|
|
130
|
+
children: t('signin.device.caption')
|
|
131
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
132
|
+
style: [styles.plate, {
|
|
133
|
+
width: size + padding * 2,
|
|
134
|
+
height: size + padding * 2,
|
|
135
|
+
padding
|
|
136
|
+
}],
|
|
137
|
+
children: plate
|
|
138
|
+
}), showsCode && signIn.authorizeCode ? /*#__PURE__*/_jsxs(View, {
|
|
139
|
+
style: styles.codeBlock,
|
|
140
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
141
|
+
style: [styles.codeHint, {
|
|
142
|
+
color: theme.colors.textSecondary
|
|
143
|
+
}],
|
|
144
|
+
children: t('signin.device.codeHint')
|
|
145
|
+
}), /*#__PURE__*/_jsx(Code, {
|
|
146
|
+
testID: "device-sign-in-code",
|
|
147
|
+
style: styles.code,
|
|
148
|
+
children: signIn.authorizeCode
|
|
149
|
+
})]
|
|
150
|
+
}) : null]
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
const styles = StyleSheet.create({
|
|
154
|
+
block: {
|
|
155
|
+
alignItems: 'center',
|
|
156
|
+
gap: 16
|
|
157
|
+
},
|
|
158
|
+
title: {
|
|
159
|
+
fontSize: 28,
|
|
160
|
+
lineHeight: 34,
|
|
161
|
+
fontWeight: '600',
|
|
162
|
+
textAlign: 'center'
|
|
163
|
+
},
|
|
164
|
+
caption: {
|
|
165
|
+
fontSize: 16,
|
|
166
|
+
lineHeight: 22,
|
|
167
|
+
textAlign: 'center'
|
|
168
|
+
},
|
|
169
|
+
plate: {
|
|
170
|
+
borderRadius: 16,
|
|
171
|
+
backgroundColor: QR_PLATE_BG,
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
justifyContent: 'center'
|
|
174
|
+
},
|
|
175
|
+
codeBlock: {
|
|
176
|
+
alignItems: 'center',
|
|
177
|
+
gap: 4
|
|
178
|
+
},
|
|
179
|
+
codeHint: {
|
|
180
|
+
fontSize: 13,
|
|
181
|
+
lineHeight: 18,
|
|
182
|
+
textAlign: 'center'
|
|
183
|
+
},
|
|
184
|
+
code: {
|
|
185
|
+
fontSize: 14
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
//# sourceMappingURL=OxyDeviceSignIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","StyleSheet","View","QRCode","Button","Code","RiCheckboxCircleLine","RiRefreshLine","SpinnerIcon","useTheme","Text","useOxy","useI18n","useAccountDialogSnapshot","jsx","_jsx","jsxs","_jsxs","QR_PLATE_BG","QR_FOREGROUND","DEFAULT_QR_SIZE","PLATE_PADDING_RATIO","OxyDeviceSignIn","size","theme","t","accountDialogController","controller","signIn","live","inline","phase","expired","failure","current","getSnapshot","startInlineQr","last","cancelSignIn","padding","Math","round","showsCode","approvalUrl","progress","plate","fill","colors","success","value","backgroundColor","color","appearance","tone","leadingIcon","onPress","testID","children","style","styles","block","title","text","caption","textSecondary","width","height","authorizeCode","codeBlock","codeHint","code","create","alignItems","gap","fontSize","lineHeight","fontWeight","textAlign","borderRadius","justifyContent"],"sourceRoot":"../../../../src","sources":["ui/components/OxyDeviceSignIn.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useSyncExternalStore","EMPTY_ACCOUNT_DIALOG_SNAPSHOT","view","backView","hasSession","directory","activeContext","activatingContextId","removingContextId","removingPrincipalId","loading","error","signIn","phase","authorizeCode","qrPayload","expiresAt","failure","route","routeFailed","pushSentAt","openedAt","progress","attempt","inline","commonsAvailability","useAccountDialogSnapshot","controller","subscribe","listener","undefined","getSnapshot"],"sourceRoot":"../../../../src","sources":["ui/hooks/accountDialogSnapshot.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AAGzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAAoD,GAAG;EAClEC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,IAAI;EACdC,UAAU,EAAE,KAAK;EACjBC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,mBAAmB,EAAE,IAAI;EACzBC,iBAAiB,EAAE,IAAI;EACvBC,mBAAmB,EAAE,IAAI;EACzBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE;IACNC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,IAAI;IACfC,SAAS,EAAE,IAAI;
|
|
1
|
+
{"version":3,"names":["useCallback","useSyncExternalStore","EMPTY_ACCOUNT_DIALOG_SNAPSHOT","view","backView","hasSession","directory","activeContext","activatingContextId","removingContextId","removingPrincipalId","loading","error","signIn","phase","authorizeCode","qrPayload","approvalUrl","expiresAt","failure","route","routeFailed","pushSentAt","openedAt","progress","attempt","inline","commonsAvailability","useAccountDialogSnapshot","controller","subscribe","listener","undefined","getSnapshot"],"sourceRoot":"../../../../src","sources":["ui/hooks/accountDialogSnapshot.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AAGzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAAoD,GAAG;EAClEC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,IAAI;EACdC,UAAU,EAAE,KAAK;EACjBC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,mBAAmB,EAAE,IAAI;EACzBC,iBAAiB,EAAE,IAAI;EACvBC,mBAAmB,EAAE,IAAI;EACzBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE;IACNC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,IAAI;IACfC,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE,IAAI;IACfN,KAAK,EAAE,IAAI;IACXO,OAAO,EAAE,IAAI;IACbC,KAAK,EAAE,IAAI;IACXC,WAAW,EAAE,KAAK;IAClBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE,MAAM;IAChBC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE;EACV,CAAC;EACDC,mBAAmB,EAAE;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CACtCC,UAA0C,EACnB;EACvB,MAAMC,SAAS,GAAG9B,WAAW,CAC1B+B,QAAoB,IAAMF,UAAU,GAAGA,UAAU,CAACC,SAAS,CAACC,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACH,UAAU,CACb,CAAC;EACD,MAAMI,WAAW,GAAGjC,WAAW,CAC7B,MAAO6B,UAAU,GAAGA,UAAU,CAACI,WAAW,CAAC,CAAC,GAAG/B,6BAA8B,EAC7E,CAAC2B,UAAU,CACb,CAAC;EACD,OAAO5B,oBAAoB,CAAC6B,SAAS,EAAEG,WAAW,EAAEA,WAAW,CAAC;AAClE","ignoreList":[]}
|
package/lib/module/ui/index.js
CHANGED
|
@@ -29,6 +29,7 @@ import "../registerPlatform.js";
|
|
|
29
29
|
// Components
|
|
30
30
|
export { default as OxyProvider } from "./components/OxyProvider.js";
|
|
31
31
|
export { default as OxySignInButton } from "./components/OxySignInButton.js";
|
|
32
|
+
export { OxyDeviceSignIn } from "./components/OxyDeviceSignIn.js";
|
|
32
33
|
export { default as OxyAuthPrompt } from "./components/OxyAuthPrompt.js";
|
|
33
34
|
export { LogoIcon } from "./components/logo/LogoIcon.js";
|
|
34
35
|
export { LogoText } from "./components/logo/LogoText.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","RequireOxyAuth","FollowButton","PeableButton","OxyPayButton","ProfileButton","useOxy","useOptionalOxy","OxyProviderMissingError","useAppAssertion","useAuth","useFollow","useSeedFollowStatuses","useStorage","useAuthStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useSupervision","supervisionQueryKeys"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO,wBAAqB;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,
|
|
1
|
+
{"version":3,"names":["default","OxyProvider","OxySignInButton","OxyDeviceSignIn","OxyAuthPrompt","LogoIcon","LogoText","RequireOxyAuth","FollowButton","PeableButton","OxyPayButton","ProfileButton","useOxy","useOptionalOxy","OxyProviderMissingError","useAppAssertion","useAuth","useFollow","useSeedFollowStatuses","useStorage","useAuthStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useSupervision","supervisionQueryKeys"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO,wBAAqB;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASC,eAAe,QAAQ,iCAA8B;AAE9D,SAASH,OAAO,IAAII,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,cAAc,QAAQ,gCAA6B;;AAE5D;;AAEA,SAASP,OAAO,IAAIQ,YAAY,QAAQ,8BAA2B;AACnE,SAASR,OAAO,IAAIS,YAAY,QAAQ,8BAA2B;AAEnE;AACA,SAAST,OAAO,IAAIU,YAAY,QAAQ,8BAA2B;AACnE;;AAEA,SAASV,OAAO,IAAIW,aAAa,QAAQ,+BAA4B;;AAErE;AACA,SAASC,MAAM,EAAEC,cAAc,EAAEC,uBAAuB,QAAQ,yBAAsB;AACtF,SAASC,eAAe,QAAQ,uCAAoC;AAEpE,SAASC,OAAO,QAAQ,oBAAiB;AAEzC,SAASC,SAAS,EAAEC,qBAAqB,QAAQ,sBAAmB;AACpE,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA;;AAEA;AACA,SAASC,YAAY,QAAQ,uBAAoB;;AAEjD;AACA,SACEC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QACd,0BAAuB;AAG9B,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,mCAAgC","ignoreList":[]}
|
|
@@ -67,6 +67,8 @@ export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
|
|
|
67
67
|
export { OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, } from '@oxy.so/core';
|
|
68
68
|
export { default as OxySignInButton } from './ui/components/OxySignInButton';
|
|
69
69
|
export type { OxySignInButtonProps, OxyOAuthResult } from './ui/components/OxySignInButton';
|
|
70
|
+
export { OxyDeviceSignIn } from './ui/components/OxyDeviceSignIn';
|
|
71
|
+
export type { OxyDeviceSignInProps } from './ui/components/OxyDeviceSignIn';
|
|
70
72
|
export { openOAuthPopup } from './ui/oauth/oauthPopup';
|
|
71
73
|
export type { StartWebOAuthSignInOptions } from './ui/oauth/browserAuthTransport';
|
|
72
74
|
export type { WebAuthMode, WebOAuthSignInResult, WebOAuthRedirectReason, WebOAuthFailureReason, WebOAuthUnsupportedReason, OAuthPopupHandle, } from './ui/oauth/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sign-in for a device with no keyboard — a TV, a photo frame, a kiosk: a large
|
|
3
|
+
* QR that any phone camera opens, and the code to compare on the phone.
|
|
4
|
+
*
|
|
5
|
+
* The QR encodes the request's https approval page
|
|
6
|
+
* (`signIn.approvalUrl`, `auth.oxy.so/device?user_code=…`), not the
|
|
7
|
+
* `oxycommons://` deep link the account dialog shows: whoever scans a frame may
|
|
8
|
+
* not have Commons, and the page works in any phone browser. It prints the same
|
|
9
|
+
* code this surface shows, so the person can check they are approving THIS
|
|
10
|
+
* screen before they press Allow there.
|
|
11
|
+
*
|
|
12
|
+
* It owns one QR-only request (`controller.startInlineQr()`), exactly like the
|
|
13
|
+
* sign-in entry's embedded QR (`signIn/InlineCommonsQr.tsx`): started on mount,
|
|
14
|
+
* renewed when it expires, withdrawn on unmount while it is still approvable.
|
|
15
|
+
* It never pushes to a phone or opens Commons. On approval the controller
|
|
16
|
+
* claims the session and `OxyProvider` signs the app in, so the host simply
|
|
17
|
+
* stops rendering this.
|
|
18
|
+
*
|
|
19
|
+
* Anti-phishing: the plate encodes `signIn.approvalUrl` and the code line shows
|
|
20
|
+
* `signIn.authorizeCode`, both PUBLIC; nothing about the application is read out
|
|
21
|
+
* of either here. The secret `sessionToken` never leaves the controller.
|
|
22
|
+
*/
|
|
23
|
+
import type React from 'react';
|
|
24
|
+
export interface OxyDeviceSignInProps {
|
|
25
|
+
/** Edge of the QR symbol in points. Defaults to 280. */
|
|
26
|
+
size?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare const OxyDeviceSignIn: React.FC<OxyDeviceSignInProps>;
|
|
29
|
+
//# sourceMappingURL=OxyDeviceSignIn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OxyDeviceSignIn.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyDeviceSignIn.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoF1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountDialogSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/accountDialogSnapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"accountDialogSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/accountDialogSnapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,qBA4B3C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,uBAAuB,GAAG,IAAI,GACzC,qBAAqB,CAUvB"}
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
import '../registerPlatform';
|
|
15
15
|
export { default as OxyProvider } from './components/OxyProvider';
|
|
16
16
|
export { default as OxySignInButton } from './components/OxySignInButton';
|
|
17
|
+
export { OxyDeviceSignIn } from './components/OxyDeviceSignIn';
|
|
18
|
+
export type { OxyDeviceSignInProps } from './components/OxyDeviceSignIn';
|
|
17
19
|
export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
|
|
18
20
|
export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
|
|
19
21
|
export { LogoIcon } from './components/logo/LogoIcon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,qBAAqB,CAAC;AAS7B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,qBAAqB,CAAC;AAS7B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -67,6 +67,8 @@ export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering.js
|
|
|
67
67
|
export { OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, } from '@oxy.so/core';
|
|
68
68
|
export { default as OxySignInButton } from './ui/components/OxySignInButton.js';
|
|
69
69
|
export type { OxySignInButtonProps, OxyOAuthResult } from './ui/components/OxySignInButton.js';
|
|
70
|
+
export { OxyDeviceSignIn } from './ui/components/OxyDeviceSignIn.js';
|
|
71
|
+
export type { OxyDeviceSignInProps } from './ui/components/OxyDeviceSignIn.js';
|
|
70
72
|
export { openOAuthPopup } from './ui/oauth/oauthPopup.js';
|
|
71
73
|
export type { StartWebOAuthSignInOptions } from './ui/oauth/browserAuthTransport.js';
|
|
72
74
|
export type { WebAuthMode, WebOAuthSignInResult, WebOAuthRedirectReason, WebOAuthFailureReason, WebOAuthUnsupportedReason, OAuthPopupHandle, } from './ui/oauth/types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sign-in for a device with no keyboard — a TV, a photo frame, a kiosk: a large
|
|
3
|
+
* QR that any phone camera opens, and the code to compare on the phone.
|
|
4
|
+
*
|
|
5
|
+
* The QR encodes the request's https approval page
|
|
6
|
+
* (`signIn.approvalUrl`, `auth.oxy.so/device?user_code=…`), not the
|
|
7
|
+
* `oxycommons://` deep link the account dialog shows: whoever scans a frame may
|
|
8
|
+
* not have Commons, and the page works in any phone browser. It prints the same
|
|
9
|
+
* code this surface shows, so the person can check they are approving THIS
|
|
10
|
+
* screen before they press Allow there.
|
|
11
|
+
*
|
|
12
|
+
* It owns one QR-only request (`controller.startInlineQr()`), exactly like the
|
|
13
|
+
* sign-in entry's embedded QR (`signIn/InlineCommonsQr.tsx`): started on mount,
|
|
14
|
+
* renewed when it expires, withdrawn on unmount while it is still approvable.
|
|
15
|
+
* It never pushes to a phone or opens Commons. On approval the controller
|
|
16
|
+
* claims the session and `OxyProvider` signs the app in, so the host simply
|
|
17
|
+
* stops rendering this.
|
|
18
|
+
*
|
|
19
|
+
* Anti-phishing: the plate encodes `signIn.approvalUrl` and the code line shows
|
|
20
|
+
* `signIn.authorizeCode`, both PUBLIC; nothing about the application is read out
|
|
21
|
+
* of either here. The secret `sessionToken` never leaves the controller.
|
|
22
|
+
*/
|
|
23
|
+
import type React from 'react';
|
|
24
|
+
export interface OxyDeviceSignInProps {
|
|
25
|
+
/** Edge of the QR symbol in points. Defaults to 280. */
|
|
26
|
+
size?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare const OxyDeviceSignIn: React.FC<OxyDeviceSignInProps>;
|
|
29
|
+
//# sourceMappingURL=OxyDeviceSignIn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OxyDeviceSignIn.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyDeviceSignIn.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoF1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountDialogSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/accountDialogSnapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"accountDialogSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/accountDialogSnapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,qBA4B3C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,uBAAuB,GAAG,IAAI,GACzC,qBAAqB,CAUvB"}
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
import '../registerPlatform.js';
|
|
15
15
|
export { default as OxyProvider } from './components/OxyProvider.js';
|
|
16
16
|
export { default as OxySignInButton } from './components/OxySignInButton.js';
|
|
17
|
+
export { OxyDeviceSignIn } from './components/OxyDeviceSignIn.js';
|
|
18
|
+
export type { OxyDeviceSignInProps } from './components/OxyDeviceSignIn.js';
|
|
17
19
|
export { default as OxyAuthPrompt } from './components/OxyAuthPrompt.js';
|
|
18
20
|
export type { OxyAuthPromptProps } from './components/OxyAuthPrompt.js';
|
|
19
21
|
export { LogoIcon } from './components/logo/LogoIcon.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,wBAAqB,CAAC;AAS7B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oCAAiC,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,wBAAqB,CAAC;AAS7B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAA8B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oCAAiC,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxy.so/services",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.9.0",
|
|
4
4
|
"description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
"@commitlint/config-conventional": "^21.2.0",
|
|
162
162
|
"@expo/app-integrity": "~58.0.2",
|
|
163
163
|
"@expo/vector-icons": "^15.0.3",
|
|
164
|
-
"@oxy.so/core": "7.
|
|
164
|
+
"@oxy.so/core": "7.8.0",
|
|
165
165
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
166
166
|
"@react-native-community/netinfo": "^12.0.1",
|
|
167
167
|
"@react-native/babel-preset": "^0.88.0",
|
|
@@ -211,13 +211,13 @@
|
|
|
211
211
|
"expo-video": "~58.0.12"
|
|
212
212
|
},
|
|
213
213
|
"//@oxy.so/bloom": "Bloom 11.1.0 adds the shared grouped sections, usage card, subscription plans, frame appearance and overlay navigation APIs used by this SDK. First-party Bloom peers remain open above this tested minimum.",
|
|
214
|
-
"//@oxy.so/core": "Core 7.7.0 supplies the bounded native asset file adapter and phase progress installed by OxyProvider; 7.6.0 forwards guest locale and first-touch campaign metadata through signup; 7.3.0 supplies `users.lookupMany`, with which the account members screen fails (and retries) a profile read whose chunk failed instead of caching those members as handle-less; 7.2.0 supplies `assets.cachedUrl`, with which `useFileDownloadUrl` answers an already-resolved URL in its first render; 6.16.0 supplies `requireServerVerdict` and `onHolderRejected`, with which the cold boot checks a session it painted from the cache; 6.13.0 supplies the `accounts.settings.*` strings (picture, categories) the account settings speak in every language; 6.12.0 supplies `fileManagement.contentLost` and the `lost` file status a lost file is listed with; 6.11.0 supplies the `follow.errors.*` strings the follow error codes are worded with; 6.4.0 the `follow.*` strings the follow buttons read for every verb and language; 6.1.0 the `oxy.auth.email.{startChange,change,remove}` and `oxy.auth.password.remove` the sign-in & security panels call. Keep one Core instance per app; raise this floor with the root catalogue when new runtime APIs are required.",
|
|
214
|
+
"//@oxy.so/core": "Core 7.8.0 supplies the device sign-in request's `approvalUrl` and the `signin.device.*` strings `OxyDeviceSignIn` shows; 7.7.0 supplies the bounded native asset file adapter and phase progress installed by OxyProvider; 7.6.0 forwards guest locale and first-touch campaign metadata through signup; 7.3.0 supplies `users.lookupMany`, with which the account members screen fails (and retries) a profile read whose chunk failed instead of caching those members as handle-less; 7.2.0 supplies `assets.cachedUrl`, with which `useFileDownloadUrl` answers an already-resolved URL in its first render; 6.16.0 supplies `requireServerVerdict` and `onHolderRejected`, with which the cold boot checks a session it painted from the cache; 6.13.0 supplies the `accounts.settings.*` strings (picture, categories) the account settings speak in every language; 6.12.0 supplies `fileManagement.contentLost` and the `lost` file status a lost file is listed with; 6.11.0 supplies the `follow.errors.*` strings the follow error codes are worded with; 6.4.0 the `follow.*` strings the follow buttons read for every verb and language; 6.1.0 the `oxy.auth.email.{startChange,change,remove}` and `oxy.auth.password.remove` the sign-in & security panels call. Keep one Core instance per app; raise this floor with the root catalogue when new runtime APIs are required.",
|
|
215
215
|
"//react-native": "React Native 0.81 to 0.88, React 19.1+ and Expo SDK 54 to 58. The floors are the Expo SDK 54 stack (react-native 0.81.6, react 19.1.4, react-native-web 0.21.4, expo 54.0.38 and the module versions its bundledNativeModules.json pins), which compat/expo-54 installs as an external consumer and checks on every CI run (`bun check.mjs`): every peer here admits that stack, services' published src typechecks against its types, and <OxyProvider> mounts and settles its cold boot on iOS (React Native 0.81), web (react-native-web 0.21) and react-native-macos 0.81 with the native modules macOS lacks absent. Astro, Oxy's browser, runs react-native-macos 0.81 (0.83 is its latest release), which is why the floor is not 0.85. The SDK 56 floors these replaced were the versions current when the ranges were first written, not measurements.",
|
|
216
216
|
"peerDependencies": {
|
|
217
217
|
"@expo/app-integrity": ">=0.1.10 <59.0.0",
|
|
218
218
|
"@expo/vector-icons": "^15.0.3",
|
|
219
219
|
"@oxy.so/bloom": ">=11.1.0",
|
|
220
|
-
"@oxy.so/core": "^7.
|
|
220
|
+
"@oxy.so/core": "^7.8.0",
|
|
221
221
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
222
222
|
"@react-native-community/netinfo": ">=11.4.1 <13.0.0",
|
|
223
223
|
"@tanstack/query-async-storage-persister": "^5.101",
|
package/src/index.ts
CHANGED
|
@@ -282,6 +282,10 @@ export {
|
|
|
282
282
|
} from '@oxy.so/core';
|
|
283
283
|
export { default as OxySignInButton } from './ui/components/OxySignInButton';
|
|
284
284
|
export type { OxySignInButtonProps, OxyOAuthResult } from './ui/components/OxySignInButton';
|
|
285
|
+
// Sign-in on a device with no keyboard (a TV, a photo frame): a large QR any
|
|
286
|
+
// phone camera opens, the request's https approval page, and the code to compare.
|
|
287
|
+
export { OxyDeviceSignIn } from './ui/components/OxyDeviceSignIn';
|
|
288
|
+
export type { OxyDeviceSignInProps } from './ui/components/OxyDeviceSignIn';
|
|
285
289
|
|
|
286
290
|
// Web OAuth transport (popup / redirect). RPs that ship their own sign-in
|
|
287
291
|
// button call `useOxy().startWebOAuthSignIn(...)`; only the popup opener is
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sign-in for a device with no keyboard — a TV, a photo frame, a kiosk: a large
|
|
3
|
+
* QR that any phone camera opens, and the code to compare on the phone.
|
|
4
|
+
*
|
|
5
|
+
* The QR encodes the request's https approval page
|
|
6
|
+
* (`signIn.approvalUrl`, `auth.oxy.so/device?user_code=…`), not the
|
|
7
|
+
* `oxycommons://` deep link the account dialog shows: whoever scans a frame may
|
|
8
|
+
* not have Commons, and the page works in any phone browser. It prints the same
|
|
9
|
+
* code this surface shows, so the person can check they are approving THIS
|
|
10
|
+
* screen before they press Allow there.
|
|
11
|
+
*
|
|
12
|
+
* It owns one QR-only request (`controller.startInlineQr()`), exactly like the
|
|
13
|
+
* sign-in entry's embedded QR (`signIn/InlineCommonsQr.tsx`): started on mount,
|
|
14
|
+
* renewed when it expires, withdrawn on unmount while it is still approvable.
|
|
15
|
+
* It never pushes to a phone or opens Commons. On approval the controller
|
|
16
|
+
* claims the session and `OxyProvider` signs the app in, so the host simply
|
|
17
|
+
* stops rendering this.
|
|
18
|
+
*
|
|
19
|
+
* Anti-phishing: the plate encodes `signIn.approvalUrl` and the code line shows
|
|
20
|
+
* `signIn.authorizeCode`, both PUBLIC; nothing about the application is read out
|
|
21
|
+
* of either here. The secret `sessionToken` never leaves the controller.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
import type React from 'react';
|
|
25
|
+
import { useEffect } from 'react';
|
|
26
|
+
import { StyleSheet, View } from 'react-native';
|
|
27
|
+
import QRCode from 'react-native-qrcode-svg';
|
|
28
|
+
import { Button } from '@oxy.so/bloom/button';
|
|
29
|
+
import { Code } from '@oxy.so/bloom/code';
|
|
30
|
+
import { RiCheckboxCircleLine } from '@oxy.so/bloom/icons/RiCheckboxCircleLine';
|
|
31
|
+
import { RiRefreshLine } from '@oxy.so/bloom/icons/RiRefreshLine';
|
|
32
|
+
import { SpinnerIcon } from '@oxy.so/bloom/loading';
|
|
33
|
+
import { useTheme } from '@oxy.so/bloom/theme';
|
|
34
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
35
|
+
import { useOxy } from '../context/oxyRuntimeContext';
|
|
36
|
+
import { useI18n } from '../hooks/useI18n';
|
|
37
|
+
import { useAccountDialogSnapshot } from '../hooks/accountDialogSnapshot';
|
|
38
|
+
|
|
39
|
+
/** High-contrast, un-themed on purpose: scan reliability. */
|
|
40
|
+
const QR_PLATE_BG = '#FFFFFF';
|
|
41
|
+
const QR_FOREGROUND = '#000000';
|
|
42
|
+
/** Big enough to scan from across a room at the default size. */
|
|
43
|
+
const DEFAULT_QR_SIZE = 280;
|
|
44
|
+
/** The quiet zone around the symbol, as a fraction of its size. */
|
|
45
|
+
const PLATE_PADDING_RATIO = 0.06;
|
|
46
|
+
|
|
47
|
+
export interface OxyDeviceSignInProps {
|
|
48
|
+
/** Edge of the QR symbol in points. Defaults to 280. */
|
|
49
|
+
size?: number;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export const OxyDeviceSignIn: React.FC<OxyDeviceSignInProps> = ({ size = DEFAULT_QR_SIZE }) => {
|
|
53
|
+
const theme = useTheme();
|
|
54
|
+
const { t } = useI18n();
|
|
55
|
+
const { accountDialogController: controller } = useOxy();
|
|
56
|
+
const { signIn } = useAccountDialogSnapshot(controller);
|
|
57
|
+
const live = signIn.inline && (signIn.phase === 'starting' || signIn.phase === 'waiting');
|
|
58
|
+
const expired = signIn.inline && signIn.phase === 'error' && signIn.failure === 'expired';
|
|
59
|
+
|
|
60
|
+
// One request for as long as this is on screen. Withdrawn on the way out only
|
|
61
|
+
// while it is still ours and still approvable.
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
if (!controller) return;
|
|
64
|
+
const { signIn: current } = controller.getSnapshot();
|
|
65
|
+
if (!(current.inline && (current.phase === 'starting' || current.phase === 'waiting'))) {
|
|
66
|
+
void controller.startInlineQr();
|
|
67
|
+
}
|
|
68
|
+
return () => {
|
|
69
|
+
const { signIn: last } = controller.getSnapshot();
|
|
70
|
+
if (last.inline && (last.phase === 'starting' || last.phase === 'waiting'))
|
|
71
|
+
controller.cancelSignIn();
|
|
72
|
+
};
|
|
73
|
+
}, [controller]);
|
|
74
|
+
|
|
75
|
+
// A code only lives a few minutes; an expired one is replaced, not reported.
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
if (controller && expired) void controller.startInlineQr();
|
|
78
|
+
}, [controller, expired]);
|
|
79
|
+
|
|
80
|
+
const padding = Math.round(size * PLATE_PADDING_RATIO);
|
|
81
|
+
const showsCode = live && signIn.approvalUrl && signIn.progress !== 'confirming-identity';
|
|
82
|
+
|
|
83
|
+
let plate: React.ReactNode;
|
|
84
|
+
if (signIn.inline && signIn.progress === 'identity-confirmed') {
|
|
85
|
+
plate = <RiCheckboxCircleLine size="3xl" fill={theme.colors.success} />;
|
|
86
|
+
} else if (showsCode && signIn.approvalUrl) {
|
|
87
|
+
plate = (
|
|
88
|
+
<QRCode
|
|
89
|
+
value={signIn.approvalUrl}
|
|
90
|
+
size={size}
|
|
91
|
+
backgroundColor={QR_PLATE_BG}
|
|
92
|
+
color={QR_FOREGROUND}
|
|
93
|
+
/>
|
|
94
|
+
);
|
|
95
|
+
} else if (live || expired || (signIn.inline && signIn.phase === 'completed')) {
|
|
96
|
+
plate = <SpinnerIcon size={Math.round(size / 6)} color={QR_FOREGROUND} />;
|
|
97
|
+
} else {
|
|
98
|
+
// Failed for a reason renewing will not fix by itself, or superseded and
|
|
99
|
+
// then withdrawn: one press for a new code.
|
|
100
|
+
plate = (
|
|
101
|
+
<Button
|
|
102
|
+
appearance="plain"
|
|
103
|
+
tone="neutral"
|
|
104
|
+
leadingIcon={RiRefreshLine}
|
|
105
|
+
onPress={() => void controller?.startInlineQr()}
|
|
106
|
+
testID="device-sign-in-renew"
|
|
107
|
+
>
|
|
108
|
+
{t('signin.qr.renew')}
|
|
109
|
+
</Button>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return (
|
|
114
|
+
<View style={styles.block} testID="oxy-device-sign-in">
|
|
115
|
+
<Text style={[styles.title, { color: theme.colors.text }]}>{t('signin.device.title')}</Text>
|
|
116
|
+
<Text style={[styles.caption, { color: theme.colors.textSecondary }]}>
|
|
117
|
+
{t('signin.device.caption')}
|
|
118
|
+
</Text>
|
|
119
|
+
<View
|
|
120
|
+
style={[styles.plate, { width: size + padding * 2, height: size + padding * 2, padding }]}
|
|
121
|
+
>
|
|
122
|
+
{plate}
|
|
123
|
+
</View>
|
|
124
|
+
{showsCode && signIn.authorizeCode ? (
|
|
125
|
+
<View style={styles.codeBlock}>
|
|
126
|
+
<Text style={[styles.codeHint, { color: theme.colors.textSecondary }]}>
|
|
127
|
+
{t('signin.device.codeHint')}
|
|
128
|
+
</Text>
|
|
129
|
+
<Code testID="device-sign-in-code" style={styles.code}>
|
|
130
|
+
{signIn.authorizeCode}
|
|
131
|
+
</Code>
|
|
132
|
+
</View>
|
|
133
|
+
) : null}
|
|
134
|
+
</View>
|
|
135
|
+
);
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const styles = StyleSheet.create({
|
|
139
|
+
block: {
|
|
140
|
+
alignItems: 'center',
|
|
141
|
+
gap: 16,
|
|
142
|
+
},
|
|
143
|
+
title: {
|
|
144
|
+
fontSize: 28,
|
|
145
|
+
lineHeight: 34,
|
|
146
|
+
fontWeight: '600',
|
|
147
|
+
textAlign: 'center',
|
|
148
|
+
},
|
|
149
|
+
caption: {
|
|
150
|
+
fontSize: 16,
|
|
151
|
+
lineHeight: 22,
|
|
152
|
+
textAlign: 'center',
|
|
153
|
+
},
|
|
154
|
+
plate: {
|
|
155
|
+
borderRadius: 16,
|
|
156
|
+
backgroundColor: QR_PLATE_BG,
|
|
157
|
+
alignItems: 'center',
|
|
158
|
+
justifyContent: 'center',
|
|
159
|
+
},
|
|
160
|
+
codeBlock: {
|
|
161
|
+
alignItems: 'center',
|
|
162
|
+
gap: 4,
|
|
163
|
+
},
|
|
164
|
+
codeHint: {
|
|
165
|
+
fontSize: 13,
|
|
166
|
+
lineHeight: 18,
|
|
167
|
+
textAlign: 'center',
|
|
168
|
+
},
|
|
169
|
+
code: {
|
|
170
|
+
fontSize: 14,
|
|
171
|
+
},
|
|
172
|
+
});
|
package/src/ui/index.ts
CHANGED
|
@@ -27,6 +27,8 @@ import '../registerPlatform';
|
|
|
27
27
|
// Components
|
|
28
28
|
export { default as OxyProvider } from './components/OxyProvider';
|
|
29
29
|
export { default as OxySignInButton } from './components/OxySignInButton';
|
|
30
|
+
export { OxyDeviceSignIn } from './components/OxyDeviceSignIn';
|
|
31
|
+
export type { OxyDeviceSignInProps } from './components/OxyDeviceSignIn';
|
|
30
32
|
export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
|
|
31
33
|
export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
|
|
32
34
|
export { LogoIcon } from './components/logo/LogoIcon';
|