@authon/react-native-wallet 0.4.0 → 0.5.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/CHANGELOG.md +9 -0
- package/README.md +49 -2
- package/android/src/main/java/dev/authon/reactnative/wallet/AuthonWalletModule.kt +3 -0
- package/android/src/vendor/kotlin/dev/authon/sdk/wallet/CredentialManagerPasskeys.kt +61 -19
- package/android/src/vendor/kotlin/dev/authon/sdk/wallet/WalletError.kt +9 -1
- package/build/appleSignIn.d.ts +26 -0
- package/build/appleSignIn.d.ts.map +1 -0
- package/build/appleSignIn.js +76 -0
- package/build/appleSignIn.js.map +1 -0
- package/build/client.d.ts.map +1 -1
- package/build/client.js +5 -0
- package/build/client.js.map +1 -1
- package/build/errors.d.ts +21 -4
- package/build/errors.d.ts.map +1 -1
- package/build/errors.js +12 -0
- package/build/errors.js.map +1 -1
- package/build/index.d.ts +3 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/native.d.ts +9 -0
- package/build/native.d.ts.map +1 -1
- package/build/native.js.map +1 -1
- package/ios/AuthonReactNativeWallet.podspec +3 -1
- package/ios/AuthonWalletModule.swift +26 -0
- package/ios/vendor/AuthonAppleSignIn/AppleSignIn.swift +285 -0
- package/ios/vendor/GENERATED.md +1 -1
- package/package.json +10 -9
- package/src/appleSignIn.ts +94 -0
- package/src/client.ts +5 -0
- package/src/errors.ts +27 -1
- package/src/index.ts +3 -1
- package/src/native.ts +12 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @authon/react-native-wallet
|
|
2
2
|
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
- `AuthonWalletError` gains `reason`, `phase` and `clientAttemptId` (null when not reported). Android: when the passkey provider says it cannot validate the RP for this app (a DataError of the "RP ID cannot be validated" family), `protect()`, `upgradeBackup()` and `restore()` fail with `ORIGIN_NOT_ALLOWED`, `reason: 'PASSKEY_RP_VALIDATION_FAILED'`, `phase: 'passkey.create.rpValidation'` (or `passkey.get.rpValidation`) and `retryable: false` instead of `INTERNAL`. Other provider data errors stay `INTERNAL`. `phase` is set on Android Credential Manager failures and `clientAttemptId` (a random device-side ID) on those other than a cancel or a missing passkey; all three are null on iOS and from older natives. `diagnosticId` stays the server request ID only.
|
|
6
|
+
- Android passkey errors no longer copy the provider's message into `message`; it is a fixed sentence.
|
|
7
|
+
|
|
8
|
+
## 0.5.0
|
|
9
|
+
|
|
10
|
+
- `signInWithAppleNative(client, { appId? })` (iOS): native Sign in with Apple through the system sheet, with no browser or web page, using the server's single-use start/complete flow. JS receives only the final session or MFA challenge, which `client.adoptSignInResult()` (@authon/react-native 0.9.4) makes the app session. Apple's identity token, authorization code, nonce and verifier stay in Swift. Errors carry the shared sign-in codes (`OAUTH_CANCELLED`, `OAUTH_REDIRECT_NOT_ALLOWED` with `serverCode` APP_NOT_REGISTERED / APP_NOT_APPROVED, `OAUTH_STATE_MISMATCH`, `OAUTH_EXCHANGE_FAILED`, ...) and `diagnosticId`; cancel and errors never fall back to a web flow. Android throws `UNSUPPORTED_PLATFORM` (use `startOAuth('apple')`).
|
|
11
|
+
|
|
3
12
|
## 0.4.0
|
|
4
13
|
|
|
5
14
|
- `signChainTransaction({ chain, account, address, payload })` for app-built transactions on other chains (NATIVE.md section 12): Solana (`{ message }` → `{ signature }`), TRON (`{ rawDataHex }` → `{ txID, signature }`), Bitcoin and Bitcoin testnet (`{ psbt }` → `{ psbt, txHex? }`) and XRP (`{ txBlobHex }` → `{ signature }`). EVM stays on `signTransaction` (`INVALID_PARAMS` for `chain: 'evm'`). The native approval UI summarizes the transaction before the key is assembled.
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> (`AuthonWallet`) and Kotlin (`dev.authon.sdk.wallet`) wallet implementations.
|
|
5
5
|
|
|
6
6
|
[](../../LICENSE)
|
|
7
|
-
[]()
|
|
8
8
|
|
|
9
9
|
It is the same wallet as the web SDK (`@authon/js`): same wallet row, same `/v1/wallet/me/*` API,
|
|
10
10
|
same shares. A user gets the same address in your web app and your mobile app, and the app install
|
|
@@ -72,7 +72,7 @@ Authon administrator has approved:
|
|
|
72
72
|
`appConfig().approved` is false, and `protect()`, `upgradeBackup()` and `restore()` fail with
|
|
73
73
|
`ORIGIN_NOT_ALLOWED`. Signing and accounts work as soon as the app is registered.
|
|
74
74
|
3. After approval, wallet.authon.dev publishes your app in `/.well-known/apple-app-site-association`
|
|
75
|
-
(`webcredentials`) and `/.well-known/assetlinks.json` (`get_login_creds`). The iOS app needs the
|
|
75
|
+
(`webcredentials`) and `/.well-known/assetlinks.json` (`get_login_creds`; `handle_all_urls` as well only for a package and certificate the Authon operator enables separately). The iOS app needs the
|
|
76
76
|
Associated Domains entitlement `webcredentials:wallet.authon.dev` (above).
|
|
77
77
|
|
|
78
78
|
## Usage
|
|
@@ -186,6 +186,30 @@ ignored).
|
|
|
186
186
|
| `deviceLock` | `DEVICE_LOCK_NOT_SET` | `CHECK_FAILED` |
|
|
187
187
|
| `passkeyBackup` | `OS_UNSUPPORTED` (iOS < 18, Android < 9), `PASSKEY_API_UNAVAILABLE` | `PRF_PROVIDER_UNVERIFIED` (the provider's PRF support is confirmed on the first `protect()`) |
|
|
188
188
|
|
|
189
|
+
### Native Sign in with Apple (iOS)
|
|
190
|
+
|
|
191
|
+
```tsx
|
|
192
|
+
import { useAuthon, AuthonAuthError, AuthonMfaRequiredError } from '@authon/react-native';
|
|
193
|
+
import { signInWithAppleNative } from '@authon/react-native-wallet';
|
|
194
|
+
|
|
195
|
+
const { client } = useAuthon();
|
|
196
|
+
try {
|
|
197
|
+
await signInWithAppleNative(client); // system Apple sheet, then the session is the app session
|
|
198
|
+
} catch (e) {
|
|
199
|
+
if (e instanceof AuthonMfaRequiredError) return showMfa(e.mfaToken); // then verifyMfa()
|
|
200
|
+
if (e instanceof AuthonAuthError && e.code === 'OAUTH_CANCELLED') return; // show nothing
|
|
201
|
+
throw e;
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
The app needs the "Sign in with Apple" capability (`ios.entitlements` `com.apple.developer.applesignin: ["Default"]` in app.json, or `expo-apple-authentication`) and must be
|
|
206
|
+
registered and approved in the Authon console (`TEAMID.bundleId`). JS never receives Apple's identity
|
|
207
|
+
token, authorization code, nonce or the PKCE verifier. Codes: `OAUTH_CANCELLED`,
|
|
208
|
+
`OAUTH_REDIRECT_NOT_ALLOWED` (`serverCode` `APP_NOT_REGISTERED` / `APP_NOT_APPROVED`),
|
|
209
|
+
`OAUTH_STATE_MISMATCH`, `OAUTH_EXCHANGE_FAILED`, `ACCOUNT_LINK_REQUIRED`, `NETWORK_ERROR`,
|
|
210
|
+
`RATE_LIMITED`, `API_ERROR`, with `diagnosticId`. There is no web fallback. On Android it throws
|
|
211
|
+
`UNSUPPORTED_PLATFORM`; use `startOAuth('apple')` there.
|
|
212
|
+
|
|
189
213
|
### Errors
|
|
190
214
|
|
|
191
215
|
Every failure is an `AuthonWalletError` with `code`, `message`, `diagnosticId` (the server's request ID
|
|
@@ -195,6 +219,18 @@ when an API response caused it; log it, never secrets) and `retryable`. Codes ar
|
|
|
195
219
|
`MESSAGE_TOO_LARGE`, `FRAME_OUTDATED`, `BACKUP_KEY_REQUIRED`, `ALREADY_UPGRADED`,
|
|
196
220
|
`ACCOUNT_UNAVAILABLE`, ...), reported unchanged by the Swift and Kotlin wallets. The JS layer adds
|
|
197
221
|
`NOT_SIGNED_IN` (no token), `INVALID_PARAMS`, `DISPOSED` and `NOT_CONFIGURED` (native module missing).
|
|
222
|
+
|
|
223
|
+
On Android, Credential Manager failures also carry `phase` (`passkey.create`, `passkey.get`, with
|
|
224
|
+
`.rpValidation` when the provider rejected the RP) and, except for a cancel or a missing passkey,
|
|
225
|
+
`clientAttemptId` (a random ID made on the device; `diagnosticId` stays null because no API request was
|
|
226
|
+
involved). `reason` is set only when the cause is certain. All three can be null: iOS does not report
|
|
227
|
+
them yet, older native builds do not either, and most other errors have none. On Android,
|
|
228
|
+
`ORIGIN_NOT_ALLOWED` with `reason: 'PASSKEY_RP_VALIDATION_FAILED'` means the passkey provider could not
|
|
229
|
+
validate `wallet.authon.dev` for this app (Digital Asset Links); it is not retryable, so do not loop.
|
|
230
|
+
Other provider data errors stay `INTERNAL` with `reason: null`. `message` is a fixed sentence and never
|
|
231
|
+
the provider's text. `capabilities()` and `appConfig().approved` reflect Authon's registration and the
|
|
232
|
+
published assetlinks, not the provider's own Digital Asset Links check, which only the first
|
|
233
|
+
`protect()` shows.
|
|
198
234
|
`USER_CANCELLED` means the user rejected the approval or closed the passkey sheet: go back without an
|
|
199
235
|
error message. `CONFIRM_WINDOW_BLOCKED` means the approval UI could not be shown; nothing was signed.
|
|
200
236
|
|
|
@@ -207,6 +243,17 @@ try {
|
|
|
207
243
|
}
|
|
208
244
|
```
|
|
209
245
|
|
|
246
|
+
```ts
|
|
247
|
+
try {
|
|
248
|
+
await wallet.protect();
|
|
249
|
+
} catch (e) {
|
|
250
|
+
if (e instanceof AuthonWalletError && e.reason === 'PASSKEY_RP_VALIDATION_FAILED') {
|
|
251
|
+
return showPasskeyLinkProblem(e.clientAttemptId); // not retryable; report the attempt ID
|
|
252
|
+
}
|
|
253
|
+
throw e;
|
|
254
|
+
}
|
|
255
|
+
```
|
|
256
|
+
|
|
210
257
|
## Trust model
|
|
211
258
|
|
|
212
259
|
The web wallet runs in a separate origin (wallet.authon.dev), so the page that embeds it can never
|
|
@@ -177,6 +177,9 @@ class AuthonWalletModule : Module() {
|
|
|
177
177
|
"message" to (w.message ?: w.code.name),
|
|
178
178
|
"diagnosticId" to w.diagnosticId,
|
|
179
179
|
"retryable" to w.retryable,
|
|
180
|
+
"reason" to w.reason,
|
|
181
|
+
"phase" to w.phase,
|
|
182
|
+
"clientAttemptId" to w.clientAttemptId,
|
|
180
183
|
)
|
|
181
184
|
}
|
|
182
185
|
|
|
@@ -17,6 +17,7 @@ import androidx.credentials.exceptions.GetCredentialException
|
|
|
17
17
|
import androidx.credentials.exceptions.GetCredentialProviderConfigurationException
|
|
18
18
|
import androidx.credentials.exceptions.GetCredentialUnsupportedException
|
|
19
19
|
import androidx.credentials.exceptions.NoCredentialException
|
|
20
|
+
import androidx.credentials.exceptions.domerrors.DataError
|
|
20
21
|
import androidx.credentials.exceptions.domerrors.DomError
|
|
21
22
|
import androidx.credentials.exceptions.domerrors.NotAllowedError
|
|
22
23
|
import androidx.credentials.exceptions.domerrors.NotSupportedError
|
|
@@ -84,7 +85,7 @@ class CredentialManagerPasskeys(
|
|
|
84
85
|
CredentialManager.create(activity).createCredential(activity, CreatePublicKeyCredentialRequest(request.toString()))
|
|
85
86
|
}
|
|
86
87
|
} catch (e: CreateCredentialException) {
|
|
87
|
-
throw mapCreate(e)
|
|
88
|
+
throw mapCreate(e, "passkey.create")
|
|
88
89
|
}
|
|
89
90
|
val json = (response as? CreatePublicKeyCredentialResponse)?.registrationResponseJson
|
|
90
91
|
?: throw walletError(WalletErrorCode.INTERNAL, "unexpected credential response")
|
|
@@ -124,7 +125,7 @@ class CredentialManagerPasskeys(
|
|
|
124
125
|
)
|
|
125
126
|
}
|
|
126
127
|
} catch (e: GetCredentialException) {
|
|
127
|
-
throw mapGet(e)
|
|
128
|
+
throw mapGet(e, "passkey.get")
|
|
128
129
|
}
|
|
129
130
|
val json = (result.credential as? PublicKeyCredential)?.authenticationResponseJson
|
|
130
131
|
?: throw walletError(WalletErrorCode.INTERNAL, "unexpected credential response")
|
|
@@ -162,31 +163,72 @@ class CredentialManagerPasskeys(
|
|
|
162
163
|
|
|
163
164
|
private fun JsonObject.str(k: String) = (this[k] as? JsonPrimitive)?.takeIf { it.isString }?.content
|
|
164
165
|
|
|
165
|
-
private fun mapDom(error: DomError, cause: Exception): WalletException = when
|
|
166
|
-
is NotAllowedError -> WalletException(WalletErrorCode.USER_CANCELLED, cause
|
|
167
|
-
is SecurityError ->
|
|
166
|
+
private fun mapDom(error: DomError, cause: Exception, phase: String): WalletException = when {
|
|
167
|
+
error is NotAllowedError -> WalletException(WalletErrorCode.USER_CANCELLED, "passkey cancelled", cause, phase = phase)
|
|
168
|
+
error is SecurityError -> passkeyFailure(
|
|
168
169
|
WalletErrorCode.ORIGIN_NOT_ALLOWED,
|
|
169
|
-
"this app is not linked to $rpId (Digital Asset Links)
|
|
170
|
+
"this app is not linked to $rpId (Digital Asset Links)",
|
|
170
171
|
cause,
|
|
172
|
+
phase,
|
|
171
173
|
)
|
|
172
|
-
is NotSupportedError ->
|
|
173
|
-
|
|
174
|
+
error is NotSupportedError -> passkeyFailure(WalletErrorCode.PRF_UNSUPPORTED, "passkey not supported", cause, phase)
|
|
175
|
+
error is DataError && PasskeyFailure.isRpValidationFailure(cause.message) -> passkeyFailure(
|
|
176
|
+
WalletErrorCode.ORIGIN_NOT_ALLOWED,
|
|
177
|
+
"the passkey provider could not validate $rpId for this app",
|
|
178
|
+
cause,
|
|
179
|
+
"$phase.rpValidation",
|
|
180
|
+
PasskeyFailure.RP_VALIDATION_FAILED,
|
|
181
|
+
)
|
|
182
|
+
else -> passkeyFailure(WalletErrorCode.INTERNAL, "passkey failure", cause, phase)
|
|
174
183
|
}
|
|
175
184
|
|
|
176
|
-
|
|
177
|
-
is CreateCredentialCancellationException -> WalletException(WalletErrorCode.USER_CANCELLED, e
|
|
185
|
+
internal fun mapCreate(e: CreateCredentialException, phase: String): WalletException = when (e) {
|
|
186
|
+
is CreateCredentialCancellationException -> WalletException(WalletErrorCode.USER_CANCELLED, "passkey cancelled", e, phase = phase)
|
|
178
187
|
is CreateCredentialUnsupportedException, is CreateCredentialProviderConfigurationException ->
|
|
179
|
-
|
|
180
|
-
is CreatePublicKeyCredentialDomException -> mapDom(e.domError, e)
|
|
181
|
-
else ->
|
|
188
|
+
passkeyFailure(WalletErrorCode.PRF_UNSUPPORTED, "passkey not supported", e, phase)
|
|
189
|
+
is CreatePublicKeyCredentialDomException -> mapDom(e.domError, e, phase)
|
|
190
|
+
else -> passkeyFailure(WalletErrorCode.INTERNAL, "passkey failure", e, phase)
|
|
182
191
|
}
|
|
183
192
|
|
|
184
|
-
|
|
185
|
-
is GetCredentialCancellationException -> WalletException(WalletErrorCode.USER_CANCELLED, e
|
|
186
|
-
is NoCredentialException -> WalletException(WalletErrorCode.USER_CANCELLED, "no matching backup passkey", e)
|
|
193
|
+
internal fun mapGet(e: GetCredentialException, phase: String): WalletException = when (e) {
|
|
194
|
+
is GetCredentialCancellationException -> WalletException(WalletErrorCode.USER_CANCELLED, "passkey cancelled", e, phase = phase)
|
|
195
|
+
is NoCredentialException -> WalletException(WalletErrorCode.USER_CANCELLED, "no matching backup passkey", e, phase = phase)
|
|
187
196
|
is GetCredentialUnsupportedException, is GetCredentialProviderConfigurationException ->
|
|
188
|
-
|
|
189
|
-
is GetPublicKeyCredentialDomException -> mapDom(e.domError, e)
|
|
190
|
-
else ->
|
|
197
|
+
passkeyFailure(WalletErrorCode.PRF_UNSUPPORTED, "passkey not supported", e, phase)
|
|
198
|
+
is GetPublicKeyCredentialDomException -> mapDom(e.domError, e, phase)
|
|
199
|
+
else -> passkeyFailure(WalletErrorCode.INTERNAL, "passkey failure", e, phase)
|
|
191
200
|
}
|
|
201
|
+
|
|
202
|
+
/** Fixed messages only: provider text stays in [cause], which never leaves the native layer. */
|
|
203
|
+
private fun passkeyFailure(code: WalletErrorCode, message: String, cause: Exception, phase: String, reason: String? = null) =
|
|
204
|
+
WalletException(code, message, cause, retryable = false, reason = reason, phase = phase, clientAttemptId = PasskeyFailure.attemptId())
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/** Classifies Credential Manager failures without returning any provider text. */
|
|
208
|
+
internal object PasskeyFailure {
|
|
209
|
+
const val RP_VALIDATION_FAILED = "PASSKEY_RP_VALIDATION_FAILED"
|
|
210
|
+
|
|
211
|
+
private const val RP_ID = "(?:rp[ _]?id|rp identifier)"
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* The RP ID itself is what failed validation: "RP ID cannot be validated", "Cannot validate the
|
|
215
|
+
* RP ID", "Failed to validate rpId: ...". A sentence that only mentions the RP ID somewhere else
|
|
216
|
+
* (the request, PRF input or RP name failed) does not match.
|
|
217
|
+
*/
|
|
218
|
+
private val PATTERNS = listOf(
|
|
219
|
+
Regex("""(?:^|[\s:.\]])(?:the\s+)?$RP_ID\s+(?:cannot|could\s+not|can't|couldn't)\s+be\s+validated\b"""),
|
|
220
|
+
Regex("""\b(?:cannot|could\s+not|can't|couldn't|unable\s+to|failed\s+to)\s+validate\s+(?:the\s+)?$RP_ID(?:$|[\s:.,(])"""),
|
|
221
|
+
Regex("""(?:^|[\s:.\]])$RP_ID\s+validation\s+failed\b"""),
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* True only when the provider says the RP ID could not be validated (its Digital Asset Links check
|
|
226
|
+
* did not pass). Other DataErrors (malformed request, algorithms, PRF input) stay INTERNAL.
|
|
227
|
+
*/
|
|
228
|
+
fun isRpValidationFailure(message: String?): Boolean {
|
|
229
|
+
val text = message?.lowercase(java.util.Locale.ROOT) ?: return false
|
|
230
|
+
return PATTERNS.any { it.containsMatchIn(text) }
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
fun attemptId(): String = Bytes.toBase64Url(Bytes.randomBytes(12))
|
|
192
234
|
}
|
|
@@ -48,7 +48,12 @@ enum class WalletErrorCode {
|
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* A wallet error with the fields of NATIVE.md section 10. [diagnosticId] is the server's request id
|
|
51
|
-
* when the API answered (log only this id, never tokens or key material)
|
|
51
|
+
* when the API answered (log only this id, never tokens or key material); OS passkey failures never
|
|
52
|
+
* have one. Android Credential Manager failures other than a cancel or a missing credential carry
|
|
53
|
+
* [clientAttemptId], a random id made on the device for that failure, and [phase]
|
|
54
|
+
* (`passkey.create`, `passkey.get`, `passkey.create.rpValidation`; cancels have the phase only).
|
|
55
|
+
* [reason] narrows [code] only when the cause is certain (`PASSKEY_RP_VALIDATION_FAILED`).
|
|
56
|
+
* All three are null otherwise, including every iOS error.
|
|
52
57
|
*/
|
|
53
58
|
class WalletException(
|
|
54
59
|
val code: WalletErrorCode,
|
|
@@ -56,6 +61,9 @@ class WalletException(
|
|
|
56
61
|
cause: Throwable? = null,
|
|
57
62
|
val diagnosticId: String? = null,
|
|
58
63
|
val retryable: Boolean = code in RETRYABLE,
|
|
64
|
+
val reason: String? = null,
|
|
65
|
+
val phase: String? = null,
|
|
66
|
+
val clientAttemptId: String? = null,
|
|
59
67
|
) : Exception(message ?: code.name, cause) {
|
|
60
68
|
companion object {
|
|
61
69
|
/** Codes worth retrying unchanged (later); everything else needs a different action. */
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** The part of @authon/react-native's AuthonMobileClient this helper uses. */
|
|
2
|
+
export interface AppleSignInClient {
|
|
3
|
+
getApiUrl(): string;
|
|
4
|
+
getPublishableKey(): string;
|
|
5
|
+
adoptSignInResult(result: never): Promise<unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface SignInWithAppleNativeOptions {
|
|
8
|
+
/** `TEAMID.bundleId` as registered in the Authon console; detected from the app when omitted. */
|
|
9
|
+
appId?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Native Sign in with Apple on iOS: shows the system Apple sheet right away (no browser, no web page)
|
|
13
|
+
* and makes the resulting session the session of `client` (an AuthonMobileClient from
|
|
14
|
+
* @authon/react-native, e.g. `useAuthon().client`), like a completed OAuth sign-in.
|
|
15
|
+
*
|
|
16
|
+
* JS never sees Apple's identity token, authorization code, nonce or the PKCE verifier; only the
|
|
17
|
+
* final result reaches JS. Errors are AuthonAuthError with the shared sign-in codes: OAUTH_CANCELLED
|
|
18
|
+
* (the user closed the sheet, show nothing), OAUTH_REDIRECT_NOT_ALLOWED (app not registered or not
|
|
19
|
+
* approved; `serverCode` tells APP_NOT_REGISTERED from APP_NOT_APPROVED), OAUTH_STATE_MISMATCH
|
|
20
|
+
* (server OAUTH_STATE_INVALID), OAUTH_EXCHANGE_FAILED, ACCOUNT_LINK_REQUIRED, NETWORK_ERROR,
|
|
21
|
+
* RATE_LIMITED, API_ERROR, with `diagnosticId` when the server answered.
|
|
22
|
+
* MFA: throws AuthonMfaRequiredError, finish with verifyMfa(). Cancel and errors never fall back to
|
|
23
|
+
* a web flow. Android: UNSUPPORTED_PLATFORM, use the normal OAuth flow (`startOAuth('apple')`).
|
|
24
|
+
*/
|
|
25
|
+
export declare function signInWithAppleNative(client: AppleSignInClient, options?: SignInWithAppleNativeOptions): Promise<unknown>;
|
|
26
|
+
//# sourceMappingURL=appleSignIn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appleSignIn.d.ts","sourceRoot":"","sources":["../src/appleSignIn.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,SAAS,IAAI,MAAM,CAAC;IACpB,iBAAiB,IAAI,MAAM,CAAC;IAC5B,iBAAiB,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD;AAiCD,MAAM,WAAW,4BAA4B;IAC3C,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,OAAO,CAAC,CA+BnI"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Platform } from 'expo-modules-core';
|
|
2
|
+
import { getNativeModule } from './native';
|
|
3
|
+
/** Fallback with the same shape as @authon/react-native's AuthonAuthError. */
|
|
4
|
+
class AppleSignInError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
diagnosticId;
|
|
7
|
+
retryable;
|
|
8
|
+
constructor(code, message, options = {}) {
|
|
9
|
+
super(message ?? code);
|
|
10
|
+
this.name = 'AuthonAuthError';
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.diagnosticId = options.diagnosticId ?? null;
|
|
13
|
+
this.retryable = options.retryable ?? false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function authError(code, message, options = {}) {
|
|
17
|
+
let Ctor = AppleSignInError;
|
|
18
|
+
try {
|
|
19
|
+
const mod = require('@authon/react-native');
|
|
20
|
+
if (mod?.AuthonAuthError)
|
|
21
|
+
Ctor = mod.AuthonAuthError;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// @authon/react-native not installed: same fields, local class.
|
|
25
|
+
}
|
|
26
|
+
return new Ctor(code, message, options);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Native Sign in with Apple on iOS: shows the system Apple sheet right away (no browser, no web page)
|
|
30
|
+
* and makes the resulting session the session of `client` (an AuthonMobileClient from
|
|
31
|
+
* @authon/react-native, e.g. `useAuthon().client`), like a completed OAuth sign-in.
|
|
32
|
+
*
|
|
33
|
+
* JS never sees Apple's identity token, authorization code, nonce or the PKCE verifier; only the
|
|
34
|
+
* final result reaches JS. Errors are AuthonAuthError with the shared sign-in codes: OAUTH_CANCELLED
|
|
35
|
+
* (the user closed the sheet, show nothing), OAUTH_REDIRECT_NOT_ALLOWED (app not registered or not
|
|
36
|
+
* approved; `serverCode` tells APP_NOT_REGISTERED from APP_NOT_APPROVED), OAUTH_STATE_MISMATCH
|
|
37
|
+
* (server OAUTH_STATE_INVALID), OAUTH_EXCHANGE_FAILED, ACCOUNT_LINK_REQUIRED, NETWORK_ERROR,
|
|
38
|
+
* RATE_LIMITED, API_ERROR, with `diagnosticId` when the server answered.
|
|
39
|
+
* MFA: throws AuthonMfaRequiredError, finish with verifyMfa(). Cancel and errors never fall back to
|
|
40
|
+
* a web flow. Android: UNSUPPORTED_PLATFORM, use the normal OAuth flow (`startOAuth('apple')`).
|
|
41
|
+
*/
|
|
42
|
+
export async function signInWithAppleNative(client, options = {}) {
|
|
43
|
+
if (Platform.OS !== 'ios') {
|
|
44
|
+
throw authError('UNSUPPORTED_PLATFORM', 'Native Sign in with Apple is iOS only; on Android use startOAuth("apple")');
|
|
45
|
+
}
|
|
46
|
+
const native = getNativeModule();
|
|
47
|
+
if (!native?.signInWithApple) {
|
|
48
|
+
throw authError('NOT_CONFIGURED', '@authon/react-native-wallet native module not found. Use a development build and rebuild the app.');
|
|
49
|
+
}
|
|
50
|
+
const result = await native.signInWithApple({
|
|
51
|
+
publishableKey: client.getPublishableKey(),
|
|
52
|
+
apiUrl: client.getApiUrl(),
|
|
53
|
+
appId: options.appId ?? null,
|
|
54
|
+
});
|
|
55
|
+
if (!result || typeof result !== 'object')
|
|
56
|
+
throw authError('API_ERROR', 'Apple sign-in returned no result');
|
|
57
|
+
if (result.ok !== true) {
|
|
58
|
+
const code = typeof result.code === 'string' && result.code ? result.code : 'API_ERROR';
|
|
59
|
+
const error = authError(code, typeof result.message === 'string' && result.message ? result.message : code, {
|
|
60
|
+
diagnosticId: typeof result.diagnosticId === 'string' && result.diagnosticId ? result.diagnosticId : null,
|
|
61
|
+
retryable: result.retryable === true,
|
|
62
|
+
});
|
|
63
|
+
// The server's own code (APP_NOT_REGISTERED, APP_NOT_APPROVED, OAUTH_STATE_INVALID, ...), when sent.
|
|
64
|
+
const serverCode = result.serverCode;
|
|
65
|
+
throw Object.assign(error, { serverCode: typeof serverCode === 'string' && serverCode ? serverCode : null });
|
|
66
|
+
}
|
|
67
|
+
let session;
|
|
68
|
+
try {
|
|
69
|
+
session = typeof result.value === 'string' ? JSON.parse(result.value) : result.value;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
throw authError('API_ERROR', 'Apple sign-in returned an unreadable result');
|
|
73
|
+
}
|
|
74
|
+
return client.adoptSignInResult(session);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=appleSignIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appleSignIn.js","sourceRoot":"","sources":["../src/appleSignIn.ts"],"names":[],"mappings":"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"}
|
package/build/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EAEd,GAAG,EACH,gBAAgB,EAChB,aAAa,EAGb,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EAEd,GAAG,EACH,gBAAgB,EAChB,aAAa,EAGb,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAyFjB;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,UAAU,CAAkD;IACpE,OAAO,CAAC,QAAQ,CAAwC;IACxD,sFAAsF;IACtF,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,EAAE,mBAAmB;IAMxC,sEAAsE;IAChE,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAM3C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMjD,mEAAmE;IAC7D,GAAG,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS3C,6DAA6D;IAC7D,MAAM,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIxC,iFAAiF;IAC3E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAMvC,wGAAwG;IACxG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAWjC,4DAA4D;IACtD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;OAGG;IACG,WAAW,CAAC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoBlH;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBxF,6BAA6B;IACvB,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAO/F,sGAAsG;IAChG,eAAe,CAAC,EAAE,EAAE,wBAAwB,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAOlG;;;;OAIG;IACG,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAmB5F,2GAA2G;IACrG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,yFAAyF;IACnF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;;OAGG;IACG,OAAO,CAAC,OAAO,GAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3E,gEAAgE;IAC1D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAOpD,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAqC1C;;;;OAIG;IACH,OAAO,IAAI,IAAI;YAYD,MAAM;YAkCN,KAAK;YAML,IAAI;IAOlB,OAAO,CAAC,MAAM;IAcd,sGAAsG;YACxF,OAAO;IAcrB,kFAAkF;IAClF,OAAO,CAAC,QAAQ;YAOF,OAAO;IAIrB,OAAO,CAAC,MAAM;CASf;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAEnF"}
|
package/build/client.js
CHANGED
|
@@ -5,6 +5,8 @@ const MAX_ACCOUNT_INDEX = 0x7fffffff;
|
|
|
5
5
|
let counter = 0;
|
|
6
6
|
const isObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
7
7
|
const str = (v) => (typeof v === 'string' ? v : null);
|
|
8
|
+
/** Error detail fields are short identifiers; anything else (free text) is dropped. */
|
|
9
|
+
const wireToken = (v) => (typeof v === 'string' && /^[A-Za-z0-9._-]{1,64}$/.test(v) ? v : null);
|
|
8
10
|
/** Copies only the public fields, so nothing else the native side might add reaches the app. */
|
|
9
11
|
function toWallet(value) {
|
|
10
12
|
if (!isObject(value) || typeof value.address !== 'string')
|
|
@@ -385,6 +387,9 @@ export class AuthonWalletClient {
|
|
|
385
387
|
throw new AuthonWalletError(code, typeof result.message === 'string' && result.message ? result.message : code, {
|
|
386
388
|
diagnosticId: typeof result.diagnosticId === 'string' && result.diagnosticId ? result.diagnosticId : null,
|
|
387
389
|
retryable: result.retryable === true,
|
|
390
|
+
reason: wireToken(result.reason),
|
|
391
|
+
phase: wireToken(result.phase),
|
|
392
|
+
clientAttemptId: wireToken(result.clientAttemptId),
|
|
388
393
|
});
|
|
389
394
|
}
|
|
390
395
|
/** For accounts other than 0 the native wallet needs the expected address and refuses on mismatch. */
|
package/build/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/build/errors.d.ts
CHANGED
|
@@ -11,15 +11,32 @@ export type WalletErrorCode = 'NOT_FOUND' | 'NEEDS_RESTORE' | 'NOT_PROTECTED' |
|
|
|
11
11
|
| 'DISPOSED'
|
|
12
12
|
/** Raised in JS: the native module is missing (Expo Go, or the app was not rebuilt). */
|
|
13
13
|
| 'NOT_CONFIGURED' | 'UNKNOWN' | (string & {});
|
|
14
|
+
/** Narrower causes under a code, set only when the native wallet is certain of them. */
|
|
15
|
+
export type WalletErrorReason =
|
|
16
|
+
/** Android: the passkey provider could not validate the RP for this app (Digital Asset Links). Code `ORIGIN_NOT_ALLOWED`. */
|
|
17
|
+
'PASSKEY_RP_VALIDATION_FAILED' | (string & {});
|
|
18
|
+
export interface AuthonWalletErrorOptions {
|
|
19
|
+
diagnosticId?: string | null;
|
|
20
|
+
retryable?: boolean;
|
|
21
|
+
reason?: WalletErrorReason | null;
|
|
22
|
+
phase?: string | null;
|
|
23
|
+
clientAttemptId?: string | null;
|
|
24
|
+
}
|
|
14
25
|
export declare class AuthonWalletError extends Error {
|
|
15
26
|
readonly code: WalletErrorCode;
|
|
16
27
|
/** The server's request ID when the failure came from an API response; log this, never secrets. */
|
|
17
28
|
readonly diagnosticId: string | null;
|
|
18
29
|
/** Whether trying the same call again can succeed (from the native wallet's code table). */
|
|
19
30
|
readonly retryable: boolean;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
/** A narrower cause under `code` (e.g. `PASSKEY_RP_VALIDATION_FAILED`), or null when not certain. */
|
|
32
|
+
readonly reason: WalletErrorReason | null;
|
|
33
|
+
/** The step that failed, e.g. `passkey.create` or `passkey.create.rpValidation`; null when not reported (iOS, older natives). */
|
|
34
|
+
readonly phase: string | null;
|
|
35
|
+
/**
|
|
36
|
+
* A random ID the device made for an Android passkey failure (not for a cancel; null on iOS). It is
|
|
37
|
+
* not a server request ID: no API request was involved, so `diagnosticId` stays null for these.
|
|
38
|
+
*/
|
|
39
|
+
readonly clientAttemptId: string | null;
|
|
40
|
+
constructor(code: WalletErrorCode, message?: string, options?: AuthonWalletErrorOptions);
|
|
24
41
|
}
|
|
25
42
|
//# sourceMappingURL=errors.d.ts.map
|
package/build/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,WAAW,GACX,UAAU,GACV,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,wBAAwB,GACxB,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB;AACvB,kDAAkD;GAChD,eAAe;AACjB,iEAAiE;GAC/D,gBAAgB,GAChB,oBAAoB;AACtB,6CAA6C;GAC3C,UAAU;AACZ,wFAAwF;GACtF,gBAAgB,GAChB,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,WAAW,GACX,UAAU,GACV,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,wBAAwB,GACxB,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB;AACvB,kDAAkD;GAChD,eAAe;AACjB,iEAAiE;GAC/D,gBAAgB,GAChB,oBAAoB;AACtB,6CAA6C;GAC3C,UAAU;AACZ,wFAAwF;GACtF,gBAAgB,GAChB,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,wFAAwF;AACxF,MAAM,MAAM,iBAAiB;AAC3B,6HAA6H;AAC3H,8BAA8B,GAC9B,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,iIAAiI;IACjI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC5B,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;CAU5F"}
|
package/build/errors.js
CHANGED
|
@@ -4,12 +4,24 @@ export class AuthonWalletError extends Error {
|
|
|
4
4
|
diagnosticId;
|
|
5
5
|
/** Whether trying the same call again can succeed (from the native wallet's code table). */
|
|
6
6
|
retryable;
|
|
7
|
+
/** A narrower cause under `code` (e.g. `PASSKEY_RP_VALIDATION_FAILED`), or null when not certain. */
|
|
8
|
+
reason;
|
|
9
|
+
/** The step that failed, e.g. `passkey.create` or `passkey.create.rpValidation`; null when not reported (iOS, older natives). */
|
|
10
|
+
phase;
|
|
11
|
+
/**
|
|
12
|
+
* A random ID the device made for an Android passkey failure (not for a cancel; null on iOS). It is
|
|
13
|
+
* not a server request ID: no API request was involved, so `diagnosticId` stays null for these.
|
|
14
|
+
*/
|
|
15
|
+
clientAttemptId;
|
|
7
16
|
constructor(code, message, options = {}) {
|
|
8
17
|
super(message ?? code);
|
|
9
18
|
this.name = 'AuthonWalletError';
|
|
10
19
|
this.code = code;
|
|
11
20
|
this.diagnosticId = options.diagnosticId ?? null;
|
|
12
21
|
this.retryable = options.retryable ?? false;
|
|
22
|
+
this.reason = options.reason ?? null;
|
|
23
|
+
this.phase = options.phase ?? null;
|
|
24
|
+
this.clientAttemptId = options.clientAttemptId ?? null;
|
|
13
25
|
}
|
|
14
26
|
}
|
|
15
27
|
//# sourceMappingURL=errors.js.map
|
package/build/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AA0DA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAAkB;IAC/B,mGAAmG;IAC1F,YAAY,CAAgB;IACrC,4FAA4F;IACnF,SAAS,CAAU;IAC5B,qGAAqG;IAC5F,MAAM,CAA2B;IAC1C,iIAAiI;IACxH,KAAK,CAAgB;IAC9B;;;OAGG;IACM,eAAe,CAAgB;IACxC,YAAY,IAAqB,EAAE,OAAgB,EAAE,UAAoC,EAAE;QACzF,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IACzD,CAAC;CACF"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { AuthonWalletClient, createAuthonWallet } from './client';
|
|
2
2
|
export { AuthonWalletError } from './errors';
|
|
3
|
-
export type { WalletErrorCode } from './errors';
|
|
3
|
+
export type { WalletErrorCode, WalletErrorReason, AuthonWalletErrorOptions } from './errors';
|
|
4
4
|
export { useAuthonWallet } from './useAuthonWallet';
|
|
5
|
+
export { signInWithAppleNative } from './appleSignIn';
|
|
6
|
+
export type { AppleSignInClient, SignInWithAppleNativeOptions } from './appleSignIn';
|
|
5
7
|
export type { UseAuthonWalletOptions, UseAuthonWalletResult } from './useAuthonWallet';
|
|
6
8
|
export type { AuthonWalletOptions, CapabilityCheck, CapabilityStatus, WalletCapabilities, WalletChain, WalletChainSignRequest, EIP1193Provider, EIP1193RequestArguments, EmbeddedWallet, EmbeddedWalletDevice, Hex, TokenGetter, TypedDataPayload, WalletAccount, WalletAppConfig, WalletChangeListener, WalletMessage, WalletSignOptions, WalletTransactionRequest, } from './types';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACrF,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,GAAG,EACH,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
|
package/build/index.js
CHANGED
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|