auth-service v10 and wallet-service changes. - #44
Conversation
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
…other input params Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
Signed-off-by: Gaurav Goel <gaurav@tor.us>
…s_input_changes' into feat/auth_service_v10_change_plus_input_changes
…anges Resolve conflicts by keeping auth-service v10 API changes while preserving master bug fixes for clientId resolution and session parsing. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 6 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b08607a. Configure here.
| { | ||
| Debug.Log($"Chain ID: {config.chainId}, RPC Target: {config.rpcTarget}, Ticker: {config.ticker}, Namespace: {config.chainNamespace}"); | ||
| } | ||
| web3Auth.showWalletUI("0x1"); |
There was a problem hiding this comment.
Wrong wallet UI path argument
High Severity
showWalletUI is called with "0x1", but that parameter is the wallet URL path (default "wallet"), not a chain ID. This opens /0x1 instead of the wallet UI, so Launch Wallet Services fails in the sample.
Reviewed by Cursor Bugbot for commit b08607a. Configure here.
| set { } | ||
| } | ||
|
|
||
| public List<AuthConnectionConfig>? authConnectionConfig { get; set; } = new List<AuthConnectionConfig>(); |
There was a problem hiding this comment.
Empty auth config always sent
High Severity
authConnectionConfig defaults to an empty list, so the null check in setOptions always passes and serializes [] into login options. Apps that rely on dashboard connections without a local config can send an empty override.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit b08607a. Configure here.
| { | ||
| this.web3AuthOptions.walletServicesConfig.whiteLabel = | ||
| this.web3AuthOptions.walletServicesConfig.whiteLabel?.merge(whitelabel) ?? whitelabel; | ||
| } |
There was a problem hiding this comment.
Wallet services config unused
High Severity
walletServicesConfig is merged with project whitelabel but never copied into initParams for showWalletUI or request. confirmationStrategy and wallet-specific whiteLabel therefore never reach the wallet SDK.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit b08607a. Configure here.
| public string ui_locales { get; set; } | ||
| public string id_token { get; set; } | ||
| public string access_token { get; set; } | ||
| private EmailFlowType flow_type { get; set; } = EmailFlowType.link; |
There was a problem hiding this comment.
Private email flow type
Medium Severity
flow_type is declared private, so callers cannot set it and Newtonsoft will not serialize it. Email passwordless link/code selection is effectively unavailable despite the new EmailFlowType API.
Reviewed by Cursor Bugbot for commit b08607a. Configure here.
|
|
||
| [JsonProperty("default")] | ||
| DEFAULT | ||
| } No newline at end of file |
There was a problem hiding this comment.
Broken wallet enum serialization
Medium Severity
ConfirmationStrategy and ButtonPositionType use JsonProperty on enum members without StringEnumConverter or EnumMember. Newtonsoft will emit integers or C# names instead of values like popup and bottom-left.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit b08607a. Configure here.
| { | ||
| public class SmartAccountsConfig | ||
| { | ||
| public SmartAccountType SmartAccountType { get; set; } |
There was a problem hiding this comment.
Smart account type key casing
Medium Severity
The property is named SmartAccountType while sibling fields use camelCase and the API expects smartAccountType. Outbound serialization of smartAccounts in wallet/request sessions emits the wrong JSON key.
Reviewed by Cursor Bugbot for commit b08607a. Configure here.


Motivation and Context
Jira Link: https://toruslabs.atlassian.net/browse/PD-4518, https://toruslabs.atlassian.net/browse/PD-4552
Description
How has this been tested?
Screenshots (if appropriate):
Screen.Recording.2025-04-17.at.1.52.27.PM.mov
Types of changes
Checklist:
Note
High Risk
Large breaking API and auth/wallet integration changes affect login, session restore, dapp-share keys, and chain selection for all integrators; misconfiguration could break production apps until migrated.
Overview
Updates the Unity Web3Auth SDK for auth-service v10 and wallet-service v5, with a broad breaking rename from verifier/provider login to auth connections.
Configuration & API: Project config is fetched from
/api/v2/configurationwithbuild_env; the response model adds chains, smart accounts, wallet UI, and embedded-wallet auth. Init options useauthConnectionConfig(replacingloginConfig),authBuildEnv,web3AuthNetwork,defaultChainId, anduseSFAKey(replacinguseCoreKitKey).Provider/TypeOfLoginare removed in favor ofAuthConnection;LoginConfigItembecomesAuthConnectionConfigwithauthConnectionId.Wallet & signing:
launchWalletServices(ChainConfig)is replaced byshowWalletUI, andrequestno longer takes per-call chain config—chains,embeddedWalletAuth, andsmartAccountsare injected from cached project config. Auth/wallet base URLs point at v10 / v5.Public surface:
LoginParamsusesauthConnection(notloginProvider);UserInfousesauthConnectionId/userId; keys are exposed viagetPrivateKey/getEd25519PrivateKeywith JSON-mappedprivateKeyon the response. The sample app is updated to match.Reviewed by Cursor Bugbot for commit b08607a. Configure here.