diff --git a/.gitignore b/.gitignore index 7aa7d912c..c0ca5b957 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ yarn-debug.log* yarn-error.log* .env .integrationBuilderCache + +yarn.lock diff --git a/.prettierrc.json b/.prettierrc.json index 444b999f5..a26f05ec1 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,6 +1,6 @@ { "proseWrap": "always", - "printWidth": 150, + "printWidth": 100, "singleQuote": false, "semi": true } diff --git a/.vscode/settings.json b/.vscode/settings.json index 55097c995..e08eff718 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,6 @@ "files.insertFinalNewline": true, "editor.defaultFormatter": "esbenp.prettier-vscode", // "editor.formatOnSave": true, - // Misc "javascript.suggestionActions.enabled": false, "cSpell.words": [ @@ -32,9 +31,23 @@ ], "editor.formatOnSave": true, "eslint.options": { - "extensions": [".js", ".jsx", ".md", ".mdx", ".ts", ".tsx"] + "extensions": [ + ".js", + ".jsx", + ".md", + ".mdx", + ".ts", + ".tsx" + ] }, - "eslint.validate": ["markdown", "mdx", "javascript", "javascriptreact", "typescript", "typescriptreact"], + "eslint.validate": [ + "markdown", + "mdx", + "javascript", + "javascriptreact", + "typescript", + "typescriptreact" + ], "[mdx]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, @@ -46,5 +59,8 @@ }, "[typescriptreact]": { "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" } } diff --git a/docs/README.mdx b/docs/README.mdx index e035517cd..4d316b17a 100644 --- a/docs/README.mdx +++ b/docs/README.mdx @@ -12,12 +12,31 @@ import HelpCards from "@site/src/components/HelpCards"; import HomeQuickStartBanner from "@site/src/components/HomeQuickStartBanner"; import IntegrationBuilderBanner from "@site/src/components/IntegrationBuilderBanner"; import ResourcesCards from "@site/src/components/ResourcesCards"; -// import SDKReferenceCards from "@site/src/components/SDKReferenceCards"; +import ProductCards from "@site/src/components/ProductCards"; import SEO from "@site/src/components/SEO"; + +# Web3Auth Documentation + +#### Simplifying User Onboarding with Scalable, Secure, Non-Custodial Wallet Management + -{/* */} + +# Discover Our Solutions + +Our extensive product suite covers everything from pre-onboarding to post-onboarding and authentication, enabling you to craft a seamless end-to-end +experience for your Web3 dApp. + + + +# Resources + +Our comprehensive array of guides, reference materials, and examples is designed to assist you at every step of your Web3Auth integration. Explore the +nuances of web3 authentication and craft a tailored integration that meets your specific needs. + - + +# Need Help? + diff --git a/docs/auth-provider-setup/aggregate-verifier.mdx b/docs/auth-provider-setup/aggregate-verifier.mdx index 5618c5619..70502ea94 100644 --- a/docs/auth-provider-setup/aggregate-verifier.mdx +++ b/docs/auth-provider-setup/aggregate-verifier.mdx @@ -1,7 +1,7 @@ --- title: Creating Aggregate Verifier on the Web3Auth Dashboard sidebar_label: Aggregate Verifier -displayed_sidebar: docs +displayed_sidebar: resources description: "Creating Aggregate Verifier on the Web3Auth Dashboard | Documentation - Web3Auth" image: "images/docs-meta-cards/documentation-card.png" --- @@ -60,7 +60,6 @@ import { EthereumPrivateKeyProvider } from "@web3auth/ethereum-provider"; const clientId = "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ"; // get it from https://dashboard.web3auth.io by creating a Plug n Play project. - const chainConfig = { chainNamespace: "eip155", chainId: "0x1", @@ -69,7 +68,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); diff --git a/docs/auth-provider-setup/auth-provider-setup.mdx b/docs/auth-provider-setup/auth-provider-setup.mdx index 55ffbd9ac..49b4d408a 100644 --- a/docs/auth-provider-setup/auth-provider-setup.mdx +++ b/docs/auth-provider-setup/auth-provider-setup.mdx @@ -1,7 +1,8 @@ --- title: Auth Provider Setup +sidebar_label: Overview image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Auth Provider Setup | Documentation - Web3Auth" --- @@ -9,30 +10,46 @@ import BYOCustomJWTTiles from "@site/src/common/docs/_byo-custom-jwt-providers.m import FederatedTiles from "@site/src/common/docs/_federated-providers.mdx"; import SocialTiles from "@site/src/common/docs/_social-login-providers.mdx"; -Auth Provider setup refers to the capability of creating a **verifier**(_a way to do custom authentication_) with Web3Auth. By default, Web3Auth comes -with a set of default verifiers that you can use out of the box. +Setting up authentication providers within Web3Auth is a crucial step in configuring the authentication flow for your application. This process +involves creating a verifier, a unique identifier that Web3Auth uses to interact with the OAuth provider and validate user authentication requests. +Verifiers play a pivotal role in ensuring secure and seamless authentication by leveraging the Web3Auth Auth Network nodes and a dedicated blockchain. -:::info Caveat with Default Verifiers +## Understanding Verifiers -- **Migration from Default Verifiers to Custom Verifiers is not possible.** -- The default verifier is not suitable for all use cases. For example, if you are using a custom JWT provider, you will need to use the - [`Web3Auth Plug and Play No Modal SDK`](/sdk/pnp/web/no-modal/), since the Web3Auth Modal will only help you configure the social logins present - within the Modal UI. -- **Aggregation of the default verifier is not possible.** For example, if you want to aggregate Google and Email Passwordless, or any two/more social - providers, you will need to create an Aggregate Verifier, which is not possible if you start with: - - a Default Verifier - - or, Social Login Providers - - or, Custom Providers +A verifier is essentially a configuration that contains information about the OAuth provider you've chosen for your application. It acts as a bridge +between Web3Auth and the OAuth provider, enabling the Auth Network nodes to query and validate JWT tokens effectively. + +:::tip + +Head over to the [Verifiers](./verifiers.mdx) section to understand how to create a custom verifier for your application. ::: +## Setting Up Your Auth Provider + +Integrating an OAuth provider with Web3Auth involves a few key steps, from selecting your provider to configuring the verifier and integrating it into +your application. Here's a broad overview of the process: + +1. **Select an OAuth Provider:** Choose an OAuth provider supported by Web3Auth, such as Google, Facebook, Twitter, or any other provider that fits + your application's requirements. + +2. **Create a Verifier:** Using the Web3Auth Dashboard, create a new verifier for your selected OAuth provider. This involves specifying the provider + details and any additional configuration required by the provider. + +3. **Deploy to the Web3Auth Blockchain:** Once your verifier is configured, it's deployed to the Web3Auth blockchain. This deployment process + registers your verifier, making it accessible to the Auth Network nodes for JWT token verification. This process generally takes around 5-10 + minutes to complete. + +4. **Integrate with Your Application:** Finally, integrate the verifier into your application's authentication flow. This typically involves utilizing + Web3Auth SDKs and specifying the verifier details in your application's authentication setup. + ## Supported Auth Providers ### Social -### Federated / Identity Providers +### Authentication Service Providers diff --git a/docs/auth-provider-setup/federated-identity-providers.mdx b/docs/auth-provider-setup/authentication-service-providers.mdx similarity index 74% rename from docs/auth-provider-setup/federated-identity-providers.mdx rename to docs/auth-provider-setup/authentication-service-providers.mdx index 9d306f7c4..d87947936 100644 --- a/docs/auth-provider-setup/federated-identity-providers.mdx +++ b/docs/auth-provider-setup/authentication-service-providers.mdx @@ -1,20 +1,24 @@ --- -title: Federated / Identity Providers -displayed_sidebar: docs -description: "Federated / Identity Providers | Documentation - Web3Auth" +title: Authentication Service Providers +displayed_sidebar: resources +description: "Authentication Service Providers | Documentation - Web3Auth" image: "images/docs-meta-cards/documentation-card.png" --- import SetupAWSCognitoVerifier from "@site/src/common/guides/_setup-aws-cognito-verifier.mdx"; import SetupFirebaseVerifier from "@site/src/common/guides/_setup-firebase-verifier.mdx"; -Federated / Identity providers enable you to use some implicit and authorization code grants. You could also use social providers on top of Federated -/ Identity providers to select other Social providers (e.g.: Twitter, Apple, GitHub, LinkedIn, WeChat etc.) that are not natively supported by us. -Note: This will require you to register an app with the Federated / Identity Providers. +Authentication Service Providers enable you to use some implicit and authorization code grants. You could also use social providers on top of +Federated / Identity providers to select other Social providers (e.g.: Twitter, Apple, GitHub, LinkedIn, WeChat etc.) that are not natively supported +by us. Note: This will require you to register an app with the Authentication Service Providers. -## Auth0 +This guide will help you to set up the following Authentication Service Providers: + +- [Auth0](#auth0) +- [AWS Cognito](#aws-cognito) +- [Firebase](#firebase) -### Set up Auth0 Verifier +## Auth0 1. Create an Auth0 verifier by choosing `Social Login Providers` and selecting `Auth0` from the **Login Provider** dropdown. ![Auth0 - Login Providers list on Web3Auth Dashboard](/dashboard/verifiers/create-auth0-verifier.png) @@ -42,8 +46,6 @@ Check out the [**Auth0 guide**](/guides/auth0) to learn more about how to set up ## AWS Cognito -### Set up AWS Cognito Verifier - :::info Guide @@ -54,8 +56,6 @@ Check out the [** AWS Cognito guide**](/guides/cognito) to learn more about how ## Firebase -### Setup Firebase Verifier - :::info Guide diff --git a/docs/auth-provider-setup/byo-jwt-providers.mdx b/docs/auth-provider-setup/byo-jwt-provider.mdx similarity index 98% rename from docs/auth-provider-setup/byo-jwt-providers.mdx rename to docs/auth-provider-setup/byo-jwt-provider.mdx index 47f2ad33f..b61ca55e1 100644 --- a/docs/auth-provider-setup/byo-jwt-providers.mdx +++ b/docs/auth-provider-setup/byo-jwt-provider.mdx @@ -1,7 +1,7 @@ --- -title: Bring your own custom JWT Providers -displayed_sidebar: docs -description: "Bring your own custom JWT Providers | Documentation - Web3Auth" +title: Bring your own custom JWT Provider +displayed_sidebar: resources +description: "Bring your own custom JWT Provider | Documentation - Web3Auth" image: "images/docs-meta-cards/documentation-card.png" --- @@ -197,10 +197,9 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; - const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); const web3auth = new Web3AuthNoModal({ @@ -210,7 +209,6 @@ const web3auth = new Web3AuthNoModal({ useCoreKitKey: false, }); - const openloginAdapter = new OpenloginAdapter({ adapterSettings: { uxMode: "redirect", // redirect or popup @@ -284,7 +282,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); @@ -378,12 +376,11 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); - const web3auth = new Web3AuthNoModal({ clientId: "", // Web3Auth Client ID web3AuthNetwork: "saphhire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/apple.mdx b/docs/auth-provider-setup/social-providers/apple.mdx index fda18225f..b9727aad6 100644 --- a/docs/auth-provider-setup/social-providers/apple.mdx +++ b/docs/auth-provider-setup/social-providers/apple.mdx @@ -2,7 +2,7 @@ title: Apple Social Login with Web3Auth sidebar_label: Apple -displayed_sidebar: docs +displayed_sidebar: resources description: "Apple Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -46,7 +46,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); diff --git a/docs/auth-provider-setup/social-providers/baidu.mdx b/docs/auth-provider-setup/social-providers/baidu.mdx index f62647e61..452aeec8c 100644 --- a/docs/auth-provider-setup/social-providers/baidu.mdx +++ b/docs/auth-provider-setup/social-providers/baidu.mdx @@ -1,7 +1,7 @@ --- title: Baidu Login with Web3Auth sidebar_label: Baidu -displayed_sidebar: docs +displayed_sidebar: resources description: "Baidu Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,12 +45,11 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/bitbucket.mdx b/docs/auth-provider-setup/social-providers/bitbucket.mdx index 37d81c051..900b1fc91 100644 --- a/docs/auth-provider-setup/social-providers/bitbucket.mdx +++ b/docs/auth-provider-setup/social-providers/bitbucket.mdx @@ -1,7 +1,7 @@ --- title: Bitbucket Login with Web3Auth sidebar_label: Bitbucket -displayed_sidebar: docs +displayed_sidebar: resources description: "Bitbucket Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,7 +45,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } }); diff --git a/docs/auth-provider-setup/social-providers/discord.mdx b/docs/auth-provider-setup/social-providers/discord.mdx index 42913f047..0883b3a2c 100644 --- a/docs/auth-provider-setup/social-providers/discord.mdx +++ b/docs/auth-provider-setup/social-providers/discord.mdx @@ -2,7 +2,7 @@ title: Discord Social Login with Web3Auth sidebar_label: Discord -displayed_sidebar: docs +displayed_sidebar: resources description: "Discord Social Login with Web3Auth | Documentation - Web3Auth" --- diff --git a/docs/auth-provider-setup/social-providers/facebook.mdx b/docs/auth-provider-setup/social-providers/facebook.mdx index f8d433ef5..802ad10d2 100644 --- a/docs/auth-provider-setup/social-providers/facebook.mdx +++ b/docs/auth-provider-setup/social-providers/facebook.mdx @@ -2,7 +2,7 @@ title: Facebook Social Login with Web3Auth sidebar_label: Facebook -displayed_sidebar: docs +displayed_sidebar: resources description: "Facebook Social Login with Web3Auth | Documentation - Web3Auth" --- diff --git a/docs/auth-provider-setup/social-providers/github.mdx b/docs/auth-provider-setup/social-providers/github.mdx index da4866fa5..de8fd67c9 100644 --- a/docs/auth-provider-setup/social-providers/github.mdx +++ b/docs/auth-provider-setup/social-providers/github.mdx @@ -2,7 +2,7 @@ title: GitHub Social Login with Web3Auth sidebar_label: GitHub -displayed_sidebar: docs +displayed_sidebar: resources description: "GitHub Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -38,7 +38,6 @@ import { EthereumPrivateKeyProvider } from "@web3auth/ethereum-provider"; const clientId = "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ"; // get it from https://dashboard.web3auth.io by creating a project. - const chainConfig = { chainNamespace: "eip155", chainId: "0x1", @@ -46,7 +45,7 @@ const chainConfig = { displayName: "Ethereum Mainnet", blockExplorerUrl: "https://etherscan.io", ticker: "ETH", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/docs/auth-provider-setup/social-providers/google.mdx b/docs/auth-provider-setup/social-providers/google.mdx index bad04309e..a0beb5f83 100644 --- a/docs/auth-provider-setup/social-providers/google.mdx +++ b/docs/auth-provider-setup/social-providers/google.mdx @@ -2,7 +2,7 @@ title: Google Social Login with Web3Auth sidebar_label: Google -displayed_sidebar: docs +displayed_sidebar: resources description: "Google Social Login with Web3Auth | Documentation - Web3Auth" --- diff --git a/docs/auth-provider-setup/social-providers/kakao.mdx b/docs/auth-provider-setup/social-providers/kakao.mdx index d51b2ae0f..158bd48de 100644 --- a/docs/auth-provider-setup/social-providers/kakao.mdx +++ b/docs/auth-provider-setup/social-providers/kakao.mdx @@ -2,7 +2,7 @@ title: KaKao Social Login with Web3Auth sidebar_label: KaKao -displayed_sidebar: docs +displayed_sidebar: resources description: "KaKao Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -46,14 +46,13 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig }, }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/line.mdx b/docs/auth-provider-setup/social-providers/line.mdx index 51fce0b51..90952a033 100644 --- a/docs/auth-provider-setup/social-providers/line.mdx +++ b/docs/auth-provider-setup/social-providers/line.mdx @@ -2,7 +2,7 @@ title: Line Social Login with Web3Auth sidebar_label: Line -displayed_sidebar: docs +displayed_sidebar: resources description: "Line Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -46,14 +46,13 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig }, }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/linkedin.mdx b/docs/auth-provider-setup/social-providers/linkedin.mdx index e127f5edc..9a1318891 100644 --- a/docs/auth-provider-setup/social-providers/linkedin.mdx +++ b/docs/auth-provider-setup/social-providers/linkedin.mdx @@ -2,7 +2,7 @@ title: LinkedIn Social Login with Web3Auth sidebar_label: LinkedIn -displayed_sidebar: docs +displayed_sidebar: resources description: "LinkedIn Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -46,7 +46,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/docs/auth-provider-setup/social-providers/microsoft.mdx b/docs/auth-provider-setup/social-providers/microsoft.mdx index 88c5f4787..dda9c00a6 100644 --- a/docs/auth-provider-setup/social-providers/microsoft.mdx +++ b/docs/auth-provider-setup/social-providers/microsoft.mdx @@ -1,7 +1,7 @@ --- title: Microsoft Social Login with Web3Auth sidebar_label: Microsoft -displayed_sidebar: docs +displayed_sidebar: resources description: "Microsoft Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,7 +45,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/docs/auth-provider-setup/social-providers/renren.mdx b/docs/auth-provider-setup/social-providers/renren.mdx index cbe53a14f..e03357e2f 100644 --- a/docs/auth-provider-setup/social-providers/renren.mdx +++ b/docs/auth-provider-setup/social-providers/renren.mdx @@ -1,7 +1,7 @@ --- title: RenRen Login with Web3Auth sidebar_label: RenRen -displayed_sidebar: docs +displayed_sidebar: resources description: "RenRen Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,7 +45,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/docs/auth-provider-setup/social-providers/slack.mdx b/docs/auth-provider-setup/social-providers/slack.mdx index 9ffd079a9..3875b9f35 100644 --- a/docs/auth-provider-setup/social-providers/slack.mdx +++ b/docs/auth-provider-setup/social-providers/slack.mdx @@ -1,7 +1,7 @@ --- title: Slack Login with Web3Auth sidebar_label: Slack -displayed_sidebar: docs +displayed_sidebar: resources description: "Slack Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,7 +45,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/docs/auth-provider-setup/social-providers/social-providers.mdx b/docs/auth-provider-setup/social-providers/social-providers.mdx index e6ea7997b..4acd1f380 100644 --- a/docs/auth-provider-setup/social-providers/social-providers.mdx +++ b/docs/auth-provider-setup/social-providers/social-providers.mdx @@ -1,17 +1,15 @@ --- title: Social Providers -displayed_sidebar: docs +sidebar_label: Introduction +displayed_sidebar: resources description: "Social Providers | Documentation - Web3Auth" --- import SocialTiles from "@site/src/common/docs/_social-login-providers.mdx"; -Social providers allow you to register your app directly with [implicit grant support ](https://oauth.net/2/grant-types/implicit/)and use them with +This section goes deeper into setting up the social login providers and configuring their respective verifiers within Web3Auth Dashboard. There are +parts that deep dive into both the OAuth standards, authentication flow, managing API keys, and securing user data—all while providing a frictionless +login experience. You can also register your app directly with [implicit grant support ](https://oauth.net/2/grant-types/implicit/)and use them with the Web3Auth SDK. -For social providers, you'll also need to set up an application with the integrating social login provider to get the Client ID / App ID which will be -used in the Custom Authentication. - -### Social via Dashboard - diff --git a/docs/auth-provider-setup/social-providers/spotify.mdx b/docs/auth-provider-setup/social-providers/spotify.mdx index bcc5c884a..f3f5e6598 100644 --- a/docs/auth-provider-setup/social-providers/spotify.mdx +++ b/docs/auth-provider-setup/social-providers/spotify.mdx @@ -1,7 +1,7 @@ --- title: Spotify Login with Web3Auth sidebar_label: Spotify -displayed_sidebar: docs +displayed_sidebar: resources description: "Spotify Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,14 +45,13 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig }, }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/twitch.mdx b/docs/auth-provider-setup/social-providers/twitch.mdx index 1eaafc164..7e5a473b2 100644 --- a/docs/auth-provider-setup/social-providers/twitch.mdx +++ b/docs/auth-provider-setup/social-providers/twitch.mdx @@ -2,7 +2,7 @@ title: Twitch Social Login with Web3Auth sidebar_label: Twitch -displayed_sidebar: docs +displayed_sidebar: resources description: "Twitch Social Login with Web3Auth | Documentation - Web3Auth" --- diff --git a/docs/auth-provider-setup/social-providers/twitter.mdx b/docs/auth-provider-setup/social-providers/twitter.mdx index 51d1a05d4..28003cfb0 100644 --- a/docs/auth-provider-setup/social-providers/twitter.mdx +++ b/docs/auth-provider-setup/social-providers/twitter.mdx @@ -1,7 +1,7 @@ --- title: X(Twitter) Social Login with Web3Auth sidebar_label: Twitter -displayed_sidebar: docs +displayed_sidebar: resources description: "Twitter Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -49,14 +49,13 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig }, }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/vkontakte.mdx b/docs/auth-provider-setup/social-providers/vkontakte.mdx index 4af578545..9c78e59db 100644 --- a/docs/auth-provider-setup/social-providers/vkontakte.mdx +++ b/docs/auth-provider-setup/social-providers/vkontakte.mdx @@ -1,7 +1,7 @@ --- title: ВКонтакте (vKontakte) Login with Web3Auth sidebar_label: vKontakte -displayed_sidebar: docs +displayed_sidebar: resources description: "ВКонтакте (vKontakte) Login with Web3Auth | Documentation - Web3Auth" --- @@ -46,14 +46,13 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig }, }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/weibo.mdx b/docs/auth-provider-setup/social-providers/weibo.mdx index 919143247..826dfacfb 100644 --- a/docs/auth-provider-setup/social-providers/weibo.mdx +++ b/docs/auth-provider-setup/social-providers/weibo.mdx @@ -1,7 +1,7 @@ --- title: Weibo Social Login with Web3Auth sidebar_label: Weibo -displayed_sidebar: docs +displayed_sidebar: resources description: "Weibo Social Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,14 +45,13 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig }, }); - const web3auth = new Web3AuthNoModal({ clientId, web3AuthNetwork: "sapphire_mainnet", diff --git a/docs/auth-provider-setup/social-providers/yandex.mdx b/docs/auth-provider-setup/social-providers/yandex.mdx index bd3a73510..163973b6f 100644 --- a/docs/auth-provider-setup/social-providers/yandex.mdx +++ b/docs/auth-provider-setup/social-providers/yandex.mdx @@ -1,7 +1,7 @@ --- title: Yandex Login with Web3Auth sidebar_label: Yandex -displayed_sidebar: docs +displayed_sidebar: resources description: "Yandex Login with Web3Auth | Documentation - Web3Auth" --- @@ -45,7 +45,7 @@ const chainConfig = { blockExplorerUrl: "https://etherscan.io", ticker: "ETH", tickerName: "Ethereum", - logo: "https://images.toruswallet.io/ethereum.svg" + logo: "https://images.toruswallet.io/ethereum.svg", }; const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/docs/auth-provider-setup/verifiers.mdx b/docs/auth-provider-setup/verifiers.mdx index 164585445..d0c3829b7 100644 --- a/docs/auth-provider-setup/verifiers.mdx +++ b/docs/auth-provider-setup/verifiers.mdx @@ -1,45 +1,107 @@ --- -title: Creating Verifiers to use Custom Authentication -sidebar_label: Create Verifiers -displayed_sidebar: docs -description: "Creating Verifiers to use Custom Authentication | Documentation - Web3Auth" +title: Verifiers +sidebar_label: Verifiers +displayed_sidebar: resources +description: Verifiers | Auth Provider Setup | Documentation - Web3Auth" image: "images/docs-meta-cards/documentation-card.png" --- -### What is a Verifier? +A verifier is essentially a configuration that contains information about the OAuth provider you've +chosen for your application. It acts as a bridge between Web3Auth and the OAuth provider, enabling +the Auth Network nodes to query and validate JWT tokens effectively. -A verifier is a piece of information about the OAuth provider being used by the application, which is queried by web3auth auth network nodes from a -smart contract deployed on the Ethereum blockchain to verify the JWT token. +Web3Auth employs an internal blockchain based on Polkadot to store and manage verifier information +securely. This blockchain approach ensures that verifier data is accessible to Auth Network nodes in +a decentralized and tamper-proof manner, facilitating reliable authentication across the Web3Auth +ecosystem. -**There are two types of `Verifiers` at Web3Auth:** +A verifier contains the necessary information for Web3Auth's network nodes to validate the JWT token +provided by an authentication service. This process ensures that the login attempt is legitimate and +that the user controls the associated social or external account. -1. **`Default Verifiers`**: These are the verifiers associated with OAuth providers(Google, Facebook, Apple etc.) which are owned and managed by - Web3Auth's account and **_migration from default verifiers to custom verifiers is not possible._** -2. **`Custom Verifiers`**: If you want to manage your OAuth providers(Google, Facebook, Apple etc.) yourself or to use some Federated Identity - Providers like Auth0, Firebase, AWS Cognito, Okta etc., or even your Custom JWT Authentication, you'll need to create a verifier under a project on - the Web3Auth's dashboard. `Social Login`, `Custom` or `Aggregate Multiple Providers` are the types of verifiers you can create on - [Web3Auth Dashboard](https://dashboard.web3auth.io/). +## Types of Verifiers -**For users to be able to log in using a custom authentication flow, you will need to use a _Custom Verifier_. -[The wallet generated for each user is specific to a verifier.](/troubleshooting/different-private-key#verifier)** +Web3Auth's design accommodates a variety of authentication scenarios through three primary verifier +types, each catering to different integration needs and offering distinct advantages: + +### Default Verifiers + +For the basic integration of Web3Auth Plug and Play, we shield you from the complexities of creating +and managing verifiers. This is done by providing default verifiers for the most popular social +login providers, such as Google, Facebook, Twitter, and more. These default verifiers are +pre-configured and ready to use, allowing you to get started with Web3Auth quickly and easily. + +However, it is highly recommended to create custom verifiers for your application, as they offer +more flexibility and control over the authentication flow. Some other caveats of using default +verifiers are: + +- **Migration from Default Verifiers to Custom Verifiers is not possible**: Once the keys are + assigned for a particular verifier, they cannot be changed. +- **Aggregation of the default verifier is not possible**: If you want to aggregate two/more social + providers, like Google and Email Passwordless, you will need to create an Aggregate Verifier, + which is not possible if you start with: + - a Default Verifier + - Social Login Providers + - Custom Providers + +### Social Login Verifiers + +These verifiers simplify the integration of popular social login options - Google, Facebook, +Discord, Twitch, and through Auth0, an array of additional services. This straightforward approach +is especially beneficial for applications employing an implicit login flow, ensuring a hassle-free +setup for both developers and users. Head over to the particular documentation for the social login +provider you want to integrate with Web3Auth. + +### Custom Verifiers + +For those seeking greater control or needing to integrate authentication services not directly +supported within Web3Auth's dashboard, custom verifiers offer a solution. Whether you're leveraging +your own backend authentication system or connecting to various social login providers, custom +verifiers provide the flexibility to manually configure your authentication flow. This setup is +particularly useful for applications integrating federated identity providers like Firebase, +Cognito, or Okta, allowing for a tailored authentication experience. + +### Aggregate Verifiers + +The digital landscape often requires users to authenticate via multiple methods. However, with +multiple providers, you'll need to create multiple verifiers. However, the +[wallet generated for each user is specific to a verifier](/troubleshooting/different-private-key#verifier). + +Aggregate verifiers address this need by enabling a unified identity across different login +mechanisms. For instance, combining Google and Email Passwordless logins under a single verifier +ensure that users receive the same private key regardless of their chosen method. These login +methods should share the same verifier identifier, e.g., email or username which is unique to the +user. + +This process involves creating an aggregate verifier, followed by sub-verifiers for each login +method. + +:::info + +Learn how to create an [Aggregate Verifier](/auth-provider-setup/aggregate-verifier). + +::: :::tip -- It is advisable to create an `Aggregate Multiple Providers` verifier even if you're using just one login method for now. This will help you in the - future if you want to add more login methods to use the [**Aggregate Verifier**](/auth-provider-setup/aggregate-verifier) feature of Web3Auth in +- It is advisable to create an `Aggregate Multiple Providers` verifier even if you're using just one + login method for now. This will help you in the future if you want to add more login methods to + use the [**Aggregate Verifier**](/auth-provider-setup/aggregate-verifier) feature of Web3Auth in your application. -- This is because we can't migrate from a single verifier(Social/Custom login methods) to an aggregate verifier without changing the wallet addresses. +- This is because we can't migrate from a single verifier(Social/Custom login methods) to an + aggregate verifier without changing the wallet addresses. ::: -You can read more about verifiers [in this GitHub discussion](https://github.com/orgs/Web3Auth/discussions/427#discussioncomment-3442052). +You can read more about verifiers +[in this GitHub discussion](https://github.com/orgs/Web3Auth/discussions/427#discussioncomment-3442052). + +## Create Verifier The `Custom Authentication` tab of a project looks something like this: ![Custom Authentication Dashboard](/images/dashboard/custom-authentication.png) -## Create Verifier - Once you click on the `Create Verifier` button, you'll see a page similar to this: ![Verifier Modal on Web3Auth Dashboard](/images/dashboard/create-verifier.png) @@ -48,8 +110,8 @@ To create a verifier, you need to input the following details: ### Verifier identifier -The name of your verifier. This is a unique identifier that will be used to initialize the `Web3Auth` SDKs for using the custom authentication -feature. +The name of your verifier. This is a unique identifier that will be used to initialize the +`Web3Auth` SDKs for using the custom authentication feature. ### Choose a Login Provider @@ -62,41 +124,32 @@ The following is the list we have on our Dashboard: - [Facebook](/auth-provider-setup/social-providers/facebook) - [Twitch](/auth-provider-setup/social-providers/twitch) - [Discord](/auth-provider-setup/social-providers/discord) - - [Auth0](/auth-provider-setup/federated-identity-providers#auth0) + - [Auth0](/auth-provider-setup/authentication-service-providers#auth0) 2. Custom Providers - - [Custom JWT](/auth-provider-setup/byo-jwt-providers) + - [Custom JWT](/auth-provider-setup/byo-jwt-provider) 3. Aggregate Multiple Providers - [Aggregate Verifier](/auth-provider-setup/aggregate-verifier) -If something you're looking for is not available in the list, choose `Custom Provider` and provide the JWT details. +If something you're looking for is not available in the list, choose `Custom Provider` and provide +the JWT details. :::note Can XYZ authenticator/login be supported? -The list above is only comprehensive to some of the logins our system can support. If you'd like support for a particular login system, send your -query to hello@web3auth.io or create a post under `Feature Requests` on our [**Community Forum**](https://web3auth.io/community/c/feature-request/14). +The list above is only comprehensive to some of the logins our system can support. If you'd like +support for a particular login system, send your query to hello@web3auth.io or create a post under +`Feature Requests` on our [**Community Forum**](https://web3auth.io/community/c/feature-request/14). ::: -If you have created a verifier under your project, you'll see it under the custom authentication tab. +If you have created a verifier under your project, you'll see it under the custom authentication +tab. ## Edit Verifier -Click on the verifier or the three dots next to the verifier you wish to edit and click on `Edit Verifier` in the dropdown. +Click on the verifier or the three dots next to the verifier you wish to edit and click on +`Edit Verifier` in the dropdown. ![Verifier Options](/images/dashboard/edit-verifier.png) -The `Edit Verifier` page will appear with previously filled information. Make the necessary changes and click on the `Update Verifier` button at the -bottom. - -## Aggregate Verifiers - -Developers can create `Aggregate Multiple Provider` from the Web3Auth Dashboard by combining multiple login methods to create a verifier to get the -same address for their user regardless of their login providers. For example, combining a `Google` and `Email Passwordless` login or `Google` and -`GitHub` via Auth0 to access the same address for your user. These login methods should share the same Verifier ID, e.g., `email`; Such verifiers are -called `Single ID Verifiers`. - -:::info Aggregate Verifier Set up - -Check out the [**Aggregate Verifier page**](/auth-provider-setup/aggregate-verifier) to set up your aggregate verifier. - -::: +The `Edit Verifier` page will appear with previously filled information. Make the necessary changes +and click on the `Update Verifier` button on the bottom. diff --git a/docs/choose-sdk/choose-sdk copy 3.mdx b/docs/choose-sdk/choose-sdk copy 3.mdx deleted file mode 100644 index c6ae8361c..000000000 --- a/docs/choose-sdk/choose-sdk copy 3.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Choosing the Correct SDK -displayed_sidebar: docs -description: "Choosing the Correct SDK | Documentation - Web3Auth" ---- diff --git a/docs/connect-blockchain/connect-blockchain.mdx b/docs/connect-blockchain/connect-blockchain.mdx index 92c29cac8..f9093cb94 100644 --- a/docs/connect-blockchain/connect-blockchain.mdx +++ b/docs/connect-blockchain/connect-blockchain.mdx @@ -1,11 +1,13 @@ --- title: Connecting Blockchains with Web3Auth -displayed_sidebar: docs +sidebar_label: Overview +displayed_sidebar: resources description: "Connect to any Blockchain via Web3Auth | Documentation - Web3Auth" image: "images/docs-meta-cards/documentation-card.png" --- -import Tiles from "@theme/Tiles"; +import EVMChains from "@site/src/common/docs/_evm-chains.mdx"; +import OtherChains from "@site/src/common/docs/_other-chains.mdx"; Web3Auth is the frontend authentication system for your dApp. Once the user is authenticated, the Web3Auth SDK returns a provider. A provider is how libraries like web3.js & ethers.js talk to the blockchain. Providers take JSON-RPC requests and return the response. This is normally done by @@ -42,10 +44,10 @@ is present in the user's frontend. Once the authentication happens, the returned result from the Web3Auth network is taken up by the provider to give a common interface to interact with the blockchain of your choice. Currently, Web3Auth supports the following private key providers for Web SDKs: -- [EIP1193 Private Key Provider](/sdk/helper-sdks/providers/evm): For connecting to EVM based chains -- [Solana Private Key Provider](/sdk/helper-sdks/providers/solana): For connecting with Solana Blockchain -- [XRPL Private Key Provider](/sdk/helper-sdks/providers/xrpl): For connecting with XRPL Blockchain -- [Common Private Key Provider](/sdk/helper-sdks/providers/common): For connecting with any blockchain. +- [EIP1193 Private Key Provider](/sdk/providers/evm): For connecting to EVM based chains +- [Solana Private Key Provider](/sdk/providers/solana): For connecting with Solana Blockchain +- [XRPL Private Key Provider](/sdk/providers/xrpl): For connecting with XRPL Blockchain +- [Common Private Key Provider](/sdk/providers/common): For connecting with any blockchain. ## MPC Providers @@ -57,199 +59,6 @@ Core Kit supports the following providers: - Bitcoin MPC Provider (coming soon) - Solana MPC Provider (coming soon) -export const EVMChains = [ - { - name: "", - description: "", - tiles: [ - { - key: "ethereum", - title: "Ethereum", - icon: "logo-ethereum.png", - path: "/connect-blockchain/evm/ethereum/", - }, - { - key: "arbitrum", - title: "Arbitrum", - icon: "logo-arbitrum.png", - path: "/connect-blockchain/evm/arbitrum/", - }, - { - key: "avalanche", - title: "Avalanche", - icon: "logo-avalanche.png", - path: "/connect-blockchain/evm/avalanche/", - }, - { - key: "base", - title: "Base Chain", - icon: "logo-base.png", - path: "/connect-blockchain/evm/base/", - }, - { - key: "bnb", - title: "BNB Chain", - icon: "logo-binance.png", - path: "/connect-blockchain/evm/bnb/", - }, - { - key: "celo", - title: "Celo", - icon: "logo-celo.png", - path: "/connect-blockchain/evm/celo/", - }, - { - key: "cronos", - title: "Cronos", - icon: "logo-cronos.png", - path: "/connect-blockchain/evm/cronos/", - }, - { - key: "flare", - title: "Flare", - icon: "logo-flare.png", - path: "/connect-blockchain/evm/flare/", - }, - { - key: "harmony", - title: "Harmony", - icon: "logo-harmony.png", - path: "/connect-blockchain/evm/harmony/", - }, - { - key: "klaytn", - title: "Klaytn", - icon: "logo-klaytn.png", - path: "/connect-blockchain/evm/klaytn/", - }, - { - key: "moonbeam", - title: "Moonbeam", - icon: "logo-moonbeam.png", - path: "/connect-blockchain/evm/moonbeam/", - }, - { - key: "moonriver", - title: "Moonriver", - icon: "logo-moonriver.png", - path: "/connect-blockchain/evm/moonriver/", - }, - { - key: "optimism", - title: "Optimism", - icon: "logo-optimism.png", - path: "/connect-blockchain/evm/optimism/", - }, - { - key: "polygon", - title: "Polygon", - icon: "logo-polygon.png", - path: "/connect-blockchain/evm/polygon/", - }, - { - key: "skale", - title: "SKALE", - icon: "logo-skale.png", - path: "/connect-blockchain/evm/skale/", - }, - { - key: "songbird", - title: "Songbird", - icon: "logo-songbird.png", - path: "/connect-blockchain/evm/songbird/", - }, - , - { - key: "zkevm", - title: "Astar zkEVM", - icon: "logo-astar-zkevm.png", - path: "/connect-blockchain/evm/zkevm/", - }, - ], - }, -]; - -export const OtherChains = [ - { - name: "", - description: "", - tiles: [ - { - key: "solana", - title: "Solana", - icon: "logo-solana.png", - path: "/connect-blockchain/solana", - }, - { - key: "xrpl", - title: "XRPL", - icon: "logo-xrpl.png", - path: "/connect-blockchain/xrpl", - }, - { - key: "algorand", - title: "Algorand", - icon: "logo-algorand.png", - path: "/connect-blockchain/other/algorand", - }, - { - key: "aptos", - title: "Aptos", - icon: "logo-aptos.png", - path: "/connect-blockchain/other/aptos", - }, - { - key: "cosmos", - title: "Cosmos", - icon: "logo-cosmos.png", - path: "/connect-blockchain/other/cosmos", - }, - { - key: "immutablex", - title: "ImmutableX", - icon: "logo-immutablex.png", - path: "/connect-blockchain/other/immutablex", - }, - { - key: "near", - title: "Near", - icon: "logo-near.png", - path: "/connect-blockchain/other/near", - }, - { - key: "polkadot", - title: "Polkadot", - icon: "logo-polkadot.png", - path: "/connect-blockchain/other/polkadot", - }, - { - key: "polymesh", - title: "Polymesh", - icon: "logo-polymesh.png", - path: "/connect-blockchain/other/polymesh", - }, - { - key: "starkex", - title: "StarkEx", - icon: "logo-starkex.png", - path: "/connect-blockchain/other/starkex", - }, - { - key: "starknet", - title: "StarkNet", - icon: "logo-starknet.png", - path: "/connect-blockchain/other/starknet", - }, - { - key: "tezos", - title: "Tezos", - icon: "logo-tezos.png", - path: "/connect-blockchain/other/tezos", - }, - ], - }, -]; - ## Reference Guides for Blockchain Connections You can check out the following guides we've written for certain blockchains. We have covered a wide variety of EVM and EVM Chains, supported by @@ -257,11 +66,10 @@ multiple web3auth providers. ### EVM Chain Guides - - + ### Non EVM Chain guides - + ## Adding JSON RPC APIs diff --git a/docs/connect-blockchain/evm/arbitrum/android.mdx b/docs/connect-blockchain/evm/arbitrum/android.mdx index 947770d0b..5655668fc 100644 --- a/docs/connect-blockchain/evm/arbitrum/android.mdx +++ b/docs/connect-blockchain/evm/arbitrum/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Arbitrum Blockchain in Android sidebar_label: Android image: "guides/banners/arbitrum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, arbitrum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Arbitrum Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/arbitrum/arbitrum.mdx b/docs/connect-blockchain/evm/arbitrum/arbitrum.mdx index 1e837d2e1..a14e6ad9b 100644 --- a/docs/connect-blockchain/evm/arbitrum/arbitrum.mdx +++ b/docs/connect-blockchain/evm/arbitrum/arbitrum.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Arbitrum Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/arbitrum.png" description: "Integrate Web3Auth with the Arbitrum Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/arbitrum/flutter.mdx b/docs/connect-blockchain/evm/arbitrum/flutter.mdx index dd91041c1..c1d514bef 100644 --- a/docs/connect-blockchain/evm/arbitrum/flutter.mdx +++ b/docs/connect-blockchain/evm/arbitrum/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Arbitrum Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/arbitrum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, arbitrum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Arbitrum Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/arbitrum/ios.mdx b/docs/connect-blockchain/evm/arbitrum/ios.mdx index ec4e1cc08..a58ecaab4 100644 --- a/docs/connect-blockchain/evm/arbitrum/ios.mdx +++ b/docs/connect-blockchain/evm/arbitrum/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Arbitrum Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/arbitrum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, arbitrum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Arbitrum Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/arbitrum/react-native.mdx b/docs/connect-blockchain/evm/arbitrum/react-native.mdx index be24080ea..e1521f84f 100644 --- a/docs/connect-blockchain/evm/arbitrum/react-native.mdx +++ b/docs/connect-blockchain/evm/arbitrum/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Arbitrum Blockchain in React Native sidebar_label: React Native image: "guides/banners/arbitrum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, arbitrum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Arbitrum Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/arbitrum/unity.mdx b/docs/connect-blockchain/evm/arbitrum/unity.mdx index d80a1d398..ff2966339 100644 --- a/docs/connect-blockchain/evm/arbitrum/unity.mdx +++ b/docs/connect-blockchain/evm/arbitrum/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Arbitrum Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, arbitrum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Arbitrum Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/arbitrum/web.mdx b/docs/connect-blockchain/evm/arbitrum/web.mdx index 18770ab16..4d961d2cc 100644 --- a/docs/connect-blockchain/evm/arbitrum/web.mdx +++ b/docs/connect-blockchain/evm/arbitrum/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Arbitrum Blockchain in JavaScript sidebar_label: Web image: "guides/banners/arbitrum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [arbitrum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Arbitrum Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/android.mdx b/docs/connect-blockchain/evm/avalanche/android.mdx index 41631f577..38a536bf7 100644 --- a/docs/connect-blockchain/evm/avalanche/android.mdx +++ b/docs/connect-blockchain/evm/avalanche/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in Android sidebar_label: Android image: "guides/banners/avalanche.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, avalanche, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/avalanche.mdx b/docs/connect-blockchain/evm/avalanche/avalanche.mdx index e2e951b00..8c7c05dcb 100644 --- a/docs/connect-blockchain/evm/avalanche/avalanche.mdx +++ b/docs/connect-blockchain/evm/avalanche/avalanche.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/avalanche.png" description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/flutter.mdx b/docs/connect-blockchain/evm/avalanche/flutter.mdx index 2a4ffd2d3..ccc4dfbd2 100644 --- a/docs/connect-blockchain/evm/avalanche/flutter.mdx +++ b/docs/connect-blockchain/evm/avalanche/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/avalanche.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, avalanche, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/ios.mdx b/docs/connect-blockchain/evm/avalanche/ios.mdx index d80dd51b6..b522fafac 100644 --- a/docs/connect-blockchain/evm/avalanche/ios.mdx +++ b/docs/connect-blockchain/evm/avalanche/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/avalanche.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, avalanche, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/react-native.mdx b/docs/connect-blockchain/evm/avalanche/react-native.mdx index 6aed836f3..e95bc1062 100644 --- a/docs/connect-blockchain/evm/avalanche/react-native.mdx +++ b/docs/connect-blockchain/evm/avalanche/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in React Native sidebar_label: React Native image: "guides/banners/avalanche.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, avalanche, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/unity.mdx b/docs/connect-blockchain/evm/avalanche/unity.mdx index 6c9100dc1..f024b740f 100644 --- a/docs/connect-blockchain/evm/avalanche/unity.mdx +++ b/docs/connect-blockchain/evm/avalanche/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, avalanche, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/avalanche/web.mdx b/docs/connect-blockchain/evm/avalanche/web.mdx index 0dc32ba1c..37f90e0ab 100644 --- a/docs/connect-blockchain/evm/avalanche/web.mdx +++ b/docs/connect-blockchain/evm/avalanche/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in JavaScript sidebar_label: Web image: "guides/banners/avalanche.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [avalanche, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Avalanche (C-Chain) Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/android.mdx b/docs/connect-blockchain/evm/base/android.mdx index e954e8b34..a8d6264f0 100644 --- a/docs/connect-blockchain/evm/base/android.mdx +++ b/docs/connect-blockchain/evm/base/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in Android sidebar_label: Android image: "guides/banners/base.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, base, coinbase, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/base.mdx b/docs/connect-blockchain/evm/base/base.mdx index ed8a1ea90..e03a7e719 100644 --- a/docs/connect-blockchain/evm/base/base.mdx +++ b/docs/connect-blockchain/evm/base/base.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/base.png" description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/flutter.mdx b/docs/connect-blockchain/evm/base/flutter.mdx index 247634056..01b8091c8 100644 --- a/docs/connect-blockchain/evm/base/flutter.mdx +++ b/docs/connect-blockchain/evm/base/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/base.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, base, coinbase, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/ios.mdx b/docs/connect-blockchain/evm/base/ios.mdx index 32d29bb08..c9513cbfc 100644 --- a/docs/connect-blockchain/evm/base/ios.mdx +++ b/docs/connect-blockchain/evm/base/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/base.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, base, coinbase, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/react-native.mdx b/docs/connect-blockchain/evm/base/react-native.mdx index 868513a77..7d179c666 100644 --- a/docs/connect-blockchain/evm/base/react-native.mdx +++ b/docs/connect-blockchain/evm/base/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in React Native sidebar_label: React Native image: "guides/banners/base.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, base, coinbase, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/unity.mdx b/docs/connect-blockchain/evm/base/unity.mdx index 41558102c..ab6f4959b 100644 --- a/docs/connect-blockchain/evm/base/unity.mdx +++ b/docs/connect-blockchain/evm/base/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, base, coinbase, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/base/web.mdx b/docs/connect-blockchain/evm/base/web.mdx index acdda951a..28ea6f849 100644 --- a/docs/connect-blockchain/evm/base/web.mdx +++ b/docs/connect-blockchain/evm/base/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in JavaScript sidebar_label: Web image: "guides/banners/base.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [base, coinbase, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Base Chain (Coinbase) Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/android.mdx b/docs/connect-blockchain/evm/bnb/android.mdx index 1d0cd10f0..7b419b161 100644 --- a/docs/connect-blockchain/evm/bnb/android.mdx +++ b/docs/connect-blockchain/evm/bnb/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB (Binance) Blockchain in Android sidebar_label: Android image: "guides/banners/bnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, binance, bnb, bsc, binanace smart chain, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB (Binance) Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/bnb.mdx b/docs/connect-blockchain/evm/bnb/bnb.mdx index 9ba382a06..eb2e3dde6 100644 --- a/docs/connect-blockchain/evm/bnb/bnb.mdx +++ b/docs/connect-blockchain/evm/bnb/bnb.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the BNB Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/bnb.png" description: "Integrate Web3Auth with the BNB Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/flutter.mdx b/docs/connect-blockchain/evm/bnb/flutter.mdx index 18571cf29..773446e73 100644 --- a/docs/connect-blockchain/evm/bnb/flutter.mdx +++ b/docs/connect-blockchain/evm/bnb/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB (Binance) Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/bnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, binance, bnb, bsc, binanace smart chain, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB (Binance) Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/ios.mdx b/docs/connect-blockchain/evm/bnb/ios.mdx index 24983a285..d5f654b1f 100644 --- a/docs/connect-blockchain/evm/bnb/ios.mdx +++ b/docs/connect-blockchain/evm/bnb/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB (Binance) Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/bnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, binance, bnb, bsc, binanace smart chain, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB (Binance) Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/react-native.mdx b/docs/connect-blockchain/evm/bnb/react-native.mdx index 933f8d8d3..a9ed4830e 100644 --- a/docs/connect-blockchain/evm/bnb/react-native.mdx +++ b/docs/connect-blockchain/evm/bnb/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB (Binance) Blockchain in React Native sidebar_label: React Native image: "guides/banners/bnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, binance, bnb, bsc, binanace smart chain, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB (Binance) Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/unity.mdx b/docs/connect-blockchain/evm/bnb/unity.mdx index ed30bdc0c..bb45d5875 100644 --- a/docs/connect-blockchain/evm/bnb/unity.mdx +++ b/docs/connect-blockchain/evm/bnb/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB (Binance) Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, binance, bnb, bsc, binanace smart chain, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB (Binance) Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/bnb/web.mdx b/docs/connect-blockchain/evm/bnb/web.mdx index e3186b798..50633e688 100644 --- a/docs/connect-blockchain/evm/bnb/web.mdx +++ b/docs/connect-blockchain/evm/bnb/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB (Binance) Blockchain in JavaScript sidebar_label: Web image: "guides/banners/bnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [binance, bnb, bsc, binanace smart chain, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB (Binance) Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/android.mdx b/docs/connect-blockchain/evm/celo/android.mdx index 9d767ad26..6e90fff32 100644 --- a/docs/connect-blockchain/evm/celo/android.mdx +++ b/docs/connect-blockchain/evm/celo/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Celo Blockchain in Android sidebar_label: Android image: "guides/banners/celo.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, celo, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Celo Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/celo.mdx b/docs/connect-blockchain/evm/celo/celo.mdx index b8fbb52aa..08984b7f5 100644 --- a/docs/connect-blockchain/evm/celo/celo.mdx +++ b/docs/connect-blockchain/evm/celo/celo.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Celo Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/celo.png" description: "Integrate Web3Auth with the Celo Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/flutter.mdx b/docs/connect-blockchain/evm/celo/flutter.mdx index 30f2c41f3..0da5ce54f 100644 --- a/docs/connect-blockchain/evm/celo/flutter.mdx +++ b/docs/connect-blockchain/evm/celo/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Celo Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/celo.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, celo, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Celo Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/ios.mdx b/docs/connect-blockchain/evm/celo/ios.mdx index 68ad29efa..7609a93a2 100644 --- a/docs/connect-blockchain/evm/celo/ios.mdx +++ b/docs/connect-blockchain/evm/celo/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Celo Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/celo.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, celo, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Celo Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/react-native.mdx b/docs/connect-blockchain/evm/celo/react-native.mdx index 60eed24ab..92482cace 100644 --- a/docs/connect-blockchain/evm/celo/react-native.mdx +++ b/docs/connect-blockchain/evm/celo/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Celo Blockchain in React Native sidebar_label: React Native image: "guides/banners/celo.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, celo, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Celo Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/unity.mdx b/docs/connect-blockchain/evm/celo/unity.mdx index 86bee3672..446cc814e 100644 --- a/docs/connect-blockchain/evm/celo/unity.mdx +++ b/docs/connect-blockchain/evm/celo/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Celo Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, celo, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Celo Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/celo/web.mdx b/docs/connect-blockchain/evm/celo/web.mdx index a381edb35..9208ee880 100644 --- a/docs/connect-blockchain/evm/celo/web.mdx +++ b/docs/connect-blockchain/evm/celo/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Celo Blockchain in JavaScript sidebar_label: Web image: "guides/banners/celo.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [celo, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Celo Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/android.mdx b/docs/connect-blockchain/evm/cronos/android.mdx index 9049b273f..ec49b91c1 100644 --- a/docs/connect-blockchain/evm/cronos/android.mdx +++ b/docs/connect-blockchain/evm/cronos/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cronos Blockchain in Android sidebar_label: Android image: "guides/banners/cronos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, cronos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cronos Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/cronos.mdx b/docs/connect-blockchain/evm/cronos/cronos.mdx index 3344591fd..0f684aca7 100644 --- a/docs/connect-blockchain/evm/cronos/cronos.mdx +++ b/docs/connect-blockchain/evm/cronos/cronos.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Cronos Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/cronos.png" description: "Integrate Web3Auth with the Cronos Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/flutter.mdx b/docs/connect-blockchain/evm/cronos/flutter.mdx index 44cf6b84c..94bc22eba 100644 --- a/docs/connect-blockchain/evm/cronos/flutter.mdx +++ b/docs/connect-blockchain/evm/cronos/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cronos Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/cronos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, cronos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cronos Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/ios.mdx b/docs/connect-blockchain/evm/cronos/ios.mdx index 3da715699..6a0e1c0fa 100644 --- a/docs/connect-blockchain/evm/cronos/ios.mdx +++ b/docs/connect-blockchain/evm/cronos/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cronos Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/cronos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, cronos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cronos Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/react-native.mdx b/docs/connect-blockchain/evm/cronos/react-native.mdx index 06429b719..96bd0dcd2 100644 --- a/docs/connect-blockchain/evm/cronos/react-native.mdx +++ b/docs/connect-blockchain/evm/cronos/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cronos Blockchain in React Native sidebar_label: React Native image: "guides/banners/cronos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, cronos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cronos Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/unity.mdx b/docs/connect-blockchain/evm/cronos/unity.mdx index ba9590a85..764398a98 100644 --- a/docs/connect-blockchain/evm/cronos/unity.mdx +++ b/docs/connect-blockchain/evm/cronos/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cronos Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, cronos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cronos Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/cronos/web.mdx b/docs/connect-blockchain/evm/cronos/web.mdx index 61af5dd0a..3d1104930 100644 --- a/docs/connect-blockchain/evm/cronos/web.mdx +++ b/docs/connect-blockchain/evm/cronos/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cronos Blockchain in JavaScript sidebar_label: Web image: "guides/banners/cronos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [cronos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cronos Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/android.mdx b/docs/connect-blockchain/evm/ethereum/android.mdx index cb9140ea2..816d7fec9 100644 --- a/docs/connect-blockchain/evm/ethereum/android.mdx +++ b/docs/connect-blockchain/evm/ethereum/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Ethereum Blockchain in Android sidebar_label: Android image: "guides/banners/ethereum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, ethereum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Ethereum Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/ethereum.mdx b/docs/connect-blockchain/evm/ethereum/ethereum.mdx index 9a1423024..fcb9565a7 100644 --- a/docs/connect-blockchain/evm/ethereum/ethereum.mdx +++ b/docs/connect-blockchain/evm/ethereum/ethereum.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Ethereum Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/ethereum.png" description: "Integrate Web3Auth with the Ethereum Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/flutter.mdx b/docs/connect-blockchain/evm/ethereum/flutter.mdx index 0ddd0831d..e5caff603 100644 --- a/docs/connect-blockchain/evm/ethereum/flutter.mdx +++ b/docs/connect-blockchain/evm/ethereum/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Ethereum Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/ethereum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, ethereum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Ethereum Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/ios.mdx b/docs/connect-blockchain/evm/ethereum/ios.mdx index e85a48e0d..9a237e0e9 100644 --- a/docs/connect-blockchain/evm/ethereum/ios.mdx +++ b/docs/connect-blockchain/evm/ethereum/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Ethereum Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/ethereum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, ethereum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Ethereum Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/react-native.mdx b/docs/connect-blockchain/evm/ethereum/react-native.mdx index bc447b4bd..a2f63cb9c 100644 --- a/docs/connect-blockchain/evm/ethereum/react-native.mdx +++ b/docs/connect-blockchain/evm/ethereum/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Ethereum Blockchain in React Native sidebar_label: React Native image: "guides/banners/ethereum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, ethereum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Ethereum Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/unity.mdx b/docs/connect-blockchain/evm/ethereum/unity.mdx index e280bbe55..870655b49 100644 --- a/docs/connect-blockchain/evm/ethereum/unity.mdx +++ b/docs/connect-blockchain/evm/ethereum/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Ethereum Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, ethereum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Ethereum Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/ethereum/web.mdx b/docs/connect-blockchain/evm/ethereum/web.mdx index eb785b733..0f4d7a55b 100644 --- a/docs/connect-blockchain/evm/ethereum/web.mdx +++ b/docs/connect-blockchain/evm/ethereum/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Ethereum Blockchain in Javascript sidebar_label: Web image: "guides/banners/ethereum.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ethereum, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Ethereum Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/evm.mdx b/docs/connect-blockchain/evm/evm.mdx index 9db72a046..9d677ba9b 100644 --- a/docs/connect-blockchain/evm/evm.mdx +++ b/docs/connect-blockchain/evm/evm.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with EVM Compatible Chains hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/ethereum.png" description: "Integrate Web3Auth with EVM Compatible Chains | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/android.mdx b/docs/connect-blockchain/evm/flare/android.mdx index bfc1b4e8c..b836b1148 100644 --- a/docs/connect-blockchain/evm/flare/android.mdx +++ b/docs/connect-blockchain/evm/flare/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Flare Blockchain in Android sidebar_label: Android image: "guides/banners/flare.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, flare, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Flare Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/flare.mdx b/docs/connect-blockchain/evm/flare/flare.mdx index 72c389b4c..5d1ec2adf 100644 --- a/docs/connect-blockchain/evm/flare/flare.mdx +++ b/docs/connect-blockchain/evm/flare/flare.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Flare Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/flare.png" description: "Integrate Web3Auth with the Flare Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/flutter.mdx b/docs/connect-blockchain/evm/flare/flutter.mdx index 864cdd14c..36b87c046 100644 --- a/docs/connect-blockchain/evm/flare/flutter.mdx +++ b/docs/connect-blockchain/evm/flare/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Flare Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/flare.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, flare, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Flare Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/ios.mdx b/docs/connect-blockchain/evm/flare/ios.mdx index 3e5f9d15f..813c34f0f 100644 --- a/docs/connect-blockchain/evm/flare/ios.mdx +++ b/docs/connect-blockchain/evm/flare/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Flare Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/flare.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, flare, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Flare Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/react-native.mdx b/docs/connect-blockchain/evm/flare/react-native.mdx index cf41c250b..b1f55f518 100644 --- a/docs/connect-blockchain/evm/flare/react-native.mdx +++ b/docs/connect-blockchain/evm/flare/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Flare Blockchain in React Native sidebar_label: React Native image: "guides/banners/flare.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, flare, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Flare Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/unity.mdx b/docs/connect-blockchain/evm/flare/unity.mdx index f0472ceef..cfba56a3d 100644 --- a/docs/connect-blockchain/evm/flare/unity.mdx +++ b/docs/connect-blockchain/evm/flare/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Flare Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, flare, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Flare Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/flare/web.mdx b/docs/connect-blockchain/evm/flare/web.mdx index 5202a1c88..32e8c1bad 100644 --- a/docs/connect-blockchain/evm/flare/web.mdx +++ b/docs/connect-blockchain/evm/flare/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Flare Blockchain in JavaScript sidebar_label: Web image: "guides/banners/flare.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flare, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Flare Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/android.mdx b/docs/connect-blockchain/evm/harmony/android.mdx index 46174456c..601fade45 100644 --- a/docs/connect-blockchain/evm/harmony/android.mdx +++ b/docs/connect-blockchain/evm/harmony/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Harmony Blockchain in Android sidebar_label: Android image: "guides/banners/harmony.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, harmony, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Harmony Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/flutter.mdx b/docs/connect-blockchain/evm/harmony/flutter.mdx index 2845a9848..14547a366 100644 --- a/docs/connect-blockchain/evm/harmony/flutter.mdx +++ b/docs/connect-blockchain/evm/harmony/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Harmony Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/harmony.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, harmony, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Harmony Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/harmony.mdx b/docs/connect-blockchain/evm/harmony/harmony.mdx index f2a861300..bbc0ffceb 100644 --- a/docs/connect-blockchain/evm/harmony/harmony.mdx +++ b/docs/connect-blockchain/evm/harmony/harmony.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Harmony Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/harmony.png" description: "Integrate Web3Auth with the Harmony Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/ios.mdx b/docs/connect-blockchain/evm/harmony/ios.mdx index c6fae7ae8..a3a5fc1f9 100644 --- a/docs/connect-blockchain/evm/harmony/ios.mdx +++ b/docs/connect-blockchain/evm/harmony/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Harmony Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/harmony.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, harmony, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Harmony Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/react-native.mdx b/docs/connect-blockchain/evm/harmony/react-native.mdx index 760372bd5..d570452ed 100644 --- a/docs/connect-blockchain/evm/harmony/react-native.mdx +++ b/docs/connect-blockchain/evm/harmony/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Harmony Blockchain in React Native sidebar_label: React Native image: "guides/banners/harmony.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, harmony, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Harmony Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/unity.mdx b/docs/connect-blockchain/evm/harmony/unity.mdx index 6cf4e43fc..df4712898 100644 --- a/docs/connect-blockchain/evm/harmony/unity.mdx +++ b/docs/connect-blockchain/evm/harmony/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Harmony Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, harmony, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Harmony Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/harmony/web.mdx b/docs/connect-blockchain/evm/harmony/web.mdx index a5c0a22ac..0c34b68a4 100644 --- a/docs/connect-blockchain/evm/harmony/web.mdx +++ b/docs/connect-blockchain/evm/harmony/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Harmony Blockchain in JavaScript sidebar_label: Web image: "guides/banners/harmony.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [harmony, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Harmony Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/android.mdx b/docs/connect-blockchain/evm/klaytn/android.mdx index aaa2b390c..e12633547 100644 --- a/docs/connect-blockchain/evm/klaytn/android.mdx +++ b/docs/connect-blockchain/evm/klaytn/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Klaytn Blockchain in Android sidebar_label: Android image: "guides/banners/klaytn.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, klaytn, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Klaytn Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/flutter.mdx b/docs/connect-blockchain/evm/klaytn/flutter.mdx index 5bd500018..ac3fd5627 100644 --- a/docs/connect-blockchain/evm/klaytn/flutter.mdx +++ b/docs/connect-blockchain/evm/klaytn/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Klaytn Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/klaytn.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, klaytn, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Klaytn Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/ios.mdx b/docs/connect-blockchain/evm/klaytn/ios.mdx index b8121f93b..430db758a 100644 --- a/docs/connect-blockchain/evm/klaytn/ios.mdx +++ b/docs/connect-blockchain/evm/klaytn/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Klaytn Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/klaytn.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, klaytn, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Klaytn Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/klaytn.mdx b/docs/connect-blockchain/evm/klaytn/klaytn.mdx index daddb046a..06184d18f 100644 --- a/docs/connect-blockchain/evm/klaytn/klaytn.mdx +++ b/docs/connect-blockchain/evm/klaytn/klaytn.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Klaytn Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/klaytn.png" description: "Integrate Web3Auth with the Klaytn Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/react-native.mdx b/docs/connect-blockchain/evm/klaytn/react-native.mdx index 5165fe7cd..0cdf483e9 100644 --- a/docs/connect-blockchain/evm/klaytn/react-native.mdx +++ b/docs/connect-blockchain/evm/klaytn/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Klaytn Blockchain in React Native sidebar_label: React Native image: "guides/banners/klaytn.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, klaytn, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Klaytn Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/unity.mdx b/docs/connect-blockchain/evm/klaytn/unity.mdx index fd634d2fc..f2481f4cb 100644 --- a/docs/connect-blockchain/evm/klaytn/unity.mdx +++ b/docs/connect-blockchain/evm/klaytn/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Klaytn Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, klaytn, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Klaytn Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/klaytn/web.mdx b/docs/connect-blockchain/evm/klaytn/web.mdx index 941291020..25400f834 100644 --- a/docs/connect-blockchain/evm/klaytn/web.mdx +++ b/docs/connect-blockchain/evm/klaytn/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Klaytn Blockchain in JavaScript sidebar_label: Web image: "guides/banners/klaytn.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [klaytn, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Klaytn Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/android.mdx b/docs/connect-blockchain/evm/moonbeam/android.mdx index 90dd111dc..097ed6538 100644 --- a/docs/connect-blockchain/evm/moonbeam/android.mdx +++ b/docs/connect-blockchain/evm/moonbeam/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonbeam Blockchain in Android sidebar_label: Android image: "guides/banners/moonbeam.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, moonbeam, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonbeam Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/flutter.mdx b/docs/connect-blockchain/evm/moonbeam/flutter.mdx index 242398e32..179c32178 100644 --- a/docs/connect-blockchain/evm/moonbeam/flutter.mdx +++ b/docs/connect-blockchain/evm/moonbeam/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonbeam Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/moonbeam.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, moonbeam, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonbeam Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/ios.mdx b/docs/connect-blockchain/evm/moonbeam/ios.mdx index a6d27a9b7..6991db418 100644 --- a/docs/connect-blockchain/evm/moonbeam/ios.mdx +++ b/docs/connect-blockchain/evm/moonbeam/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonbeam Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/moonbeam.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, moonbeam, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonbeam Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/moonbeam.mdx b/docs/connect-blockchain/evm/moonbeam/moonbeam.mdx index c868b6dbf..a7774f031 100644 --- a/docs/connect-blockchain/evm/moonbeam/moonbeam.mdx +++ b/docs/connect-blockchain/evm/moonbeam/moonbeam.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Moonbeam Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/moonbeam.png" description: "Integrate Web3Auth with the Moonbeam Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/react-native.mdx b/docs/connect-blockchain/evm/moonbeam/react-native.mdx index 6c1a2c391..82acf2032 100644 --- a/docs/connect-blockchain/evm/moonbeam/react-native.mdx +++ b/docs/connect-blockchain/evm/moonbeam/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonbeam Blockchain in React Native sidebar_label: React Native image: "guides/banners/moonbeam.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, moonbeam, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonbeam Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/unity.mdx b/docs/connect-blockchain/evm/moonbeam/unity.mdx index 187c92be4..66a613243 100644 --- a/docs/connect-blockchain/evm/moonbeam/unity.mdx +++ b/docs/connect-blockchain/evm/moonbeam/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonbeam Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, moonbeam, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonbeam Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonbeam/web.mdx b/docs/connect-blockchain/evm/moonbeam/web.mdx index 071b3afb4..076b5ef96 100644 --- a/docs/connect-blockchain/evm/moonbeam/web.mdx +++ b/docs/connect-blockchain/evm/moonbeam/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonbeam Blockchain in JavaScript sidebar_label: Web image: "guides/banners/moonbeam.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [moonbeam, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonbeam Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/android.mdx b/docs/connect-blockchain/evm/moonriver/android.mdx index c1a71cd8a..aac978b30 100644 --- a/docs/connect-blockchain/evm/moonriver/android.mdx +++ b/docs/connect-blockchain/evm/moonriver/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonriver Blockchain in Android sidebar_label: Android image: "guides/banners/moonriver.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, moonriver, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonriver Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/flutter.mdx b/docs/connect-blockchain/evm/moonriver/flutter.mdx index bba9ebbb0..e642587de 100644 --- a/docs/connect-blockchain/evm/moonriver/flutter.mdx +++ b/docs/connect-blockchain/evm/moonriver/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonriver Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/moonriver.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, moonriver, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonriver Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/ios.mdx b/docs/connect-blockchain/evm/moonriver/ios.mdx index 44c434e7a..abb07c855 100644 --- a/docs/connect-blockchain/evm/moonriver/ios.mdx +++ b/docs/connect-blockchain/evm/moonriver/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonriver Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/moonriver.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, moonriver, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonriver Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/moonriver.mdx b/docs/connect-blockchain/evm/moonriver/moonriver.mdx index 58fa484b9..da3b12604 100644 --- a/docs/connect-blockchain/evm/moonriver/moonriver.mdx +++ b/docs/connect-blockchain/evm/moonriver/moonriver.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Moonriver Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/moonriver.png" description: "Integrate Web3Auth with the Moonriver Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/react-native.mdx b/docs/connect-blockchain/evm/moonriver/react-native.mdx index f3f013151..88507d0c9 100644 --- a/docs/connect-blockchain/evm/moonriver/react-native.mdx +++ b/docs/connect-blockchain/evm/moonriver/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonriver Blockchain in React Native sidebar_label: React Native image: "guides/banners/moonriver.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, moonriver, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonriver Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/unity.mdx b/docs/connect-blockchain/evm/moonriver/unity.mdx index 741395b10..6757bb92a 100644 --- a/docs/connect-blockchain/evm/moonriver/unity.mdx +++ b/docs/connect-blockchain/evm/moonriver/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonriver Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, moonriver, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonriver Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/moonriver/web.mdx b/docs/connect-blockchain/evm/moonriver/web.mdx index 106d4bc27..28074328f 100644 --- a/docs/connect-blockchain/evm/moonriver/web.mdx +++ b/docs/connect-blockchain/evm/moonriver/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Moonriver Blockchain in JavaScript sidebar_label: Web image: "guides/banners/moonriver.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [moonriver, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Moonriver Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/android.mdx b/docs/connect-blockchain/evm/opbnb/android.mdx index 1f64d9a4b..239bbd3db 100644 --- a/docs/connect-blockchain/evm/opbnb/android.mdx +++ b/docs/connect-blockchain/evm/opbnb/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB Optimistic Rolllup in Android sidebar_label: Android image: "guides/banners/opbnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, opbnb, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB Optimistic Rolllup in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/flutter.mdx b/docs/connect-blockchain/evm/opbnb/flutter.mdx index 1cabfd358..b7051d4b5 100644 --- a/docs/connect-blockchain/evm/opbnb/flutter.mdx +++ b/docs/connect-blockchain/evm/opbnb/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB Optimistic Rolllup in Flutter sidebar_label: Flutter image: "guides/banners/opbnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, opbnb, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB Optimistic Rolllup in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/ios.mdx b/docs/connect-blockchain/evm/opbnb/ios.mdx index 1ebbd1c1e..8c28c3ebe 100644 --- a/docs/connect-blockchain/evm/opbnb/ios.mdx +++ b/docs/connect-blockchain/evm/opbnb/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB Optimistic Rolllup in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/opbnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, opbnb, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB Optimistic Rolllup in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/opbnb.mdx b/docs/connect-blockchain/evm/opbnb/opbnb.mdx index bddd99bee..fd0d90c0a 100644 --- a/docs/connect-blockchain/evm/opbnb/opbnb.mdx +++ b/docs/connect-blockchain/evm/opbnb/opbnb.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the BNB Optimistic Rolllup hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/opbnb.png" description: "Integrate Web3Auth with the BNB Optimistic Rolllup | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/react-native.mdx b/docs/connect-blockchain/evm/opbnb/react-native.mdx index de0c70234..6d0a651ae 100644 --- a/docs/connect-blockchain/evm/opbnb/react-native.mdx +++ b/docs/connect-blockchain/evm/opbnb/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB Optimistic Rolllup in React Native sidebar_label: React Native image: "guides/banners/opbnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, opbnb, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB Optimistic Rolllup in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/unity.mdx b/docs/connect-blockchain/evm/opbnb/unity.mdx index f508e2d98..be28630d5 100644 --- a/docs/connect-blockchain/evm/opbnb/unity.mdx +++ b/docs/connect-blockchain/evm/opbnb/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB Optimistic Rolllup in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, opbnb, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB Optimistic Rolllup in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/opbnb/web.mdx b/docs/connect-blockchain/evm/opbnb/web.mdx index 4606ae2aa..2b6d008d2 100644 --- a/docs/connect-blockchain/evm/opbnb/web.mdx +++ b/docs/connect-blockchain/evm/opbnb/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the BNB Optimistic Rolllup in JavaScript sidebar_label: Web image: "guides/banners/opbnb.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [opbnb, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the BNB Optimistic Rolllup in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/android.mdx b/docs/connect-blockchain/evm/optimism/android.mdx index c0fdaa344..20998e20c 100644 --- a/docs/connect-blockchain/evm/optimism/android.mdx +++ b/docs/connect-blockchain/evm/optimism/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Optimism Blockchain in Android sidebar_label: Android image: "guides/banners/optimism.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, optimism, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Optimism Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/flutter.mdx b/docs/connect-blockchain/evm/optimism/flutter.mdx index 4a2865d75..8ece3d68b 100644 --- a/docs/connect-blockchain/evm/optimism/flutter.mdx +++ b/docs/connect-blockchain/evm/optimism/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Optimism Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/optimism.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, optimism, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Optimism Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/ios.mdx b/docs/connect-blockchain/evm/optimism/ios.mdx index d15cd4edb..63d340588 100644 --- a/docs/connect-blockchain/evm/optimism/ios.mdx +++ b/docs/connect-blockchain/evm/optimism/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Optimism Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/optimism.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, optimism, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Optimism Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/optimism.mdx b/docs/connect-blockchain/evm/optimism/optimism.mdx index 82a620ea7..aa87896a1 100644 --- a/docs/connect-blockchain/evm/optimism/optimism.mdx +++ b/docs/connect-blockchain/evm/optimism/optimism.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Optimism Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/optimism.png" description: "Integrate Web3Auth with the Optimism Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/react-native.mdx b/docs/connect-blockchain/evm/optimism/react-native.mdx index f40879cc1..6cee420d5 100644 --- a/docs/connect-blockchain/evm/optimism/react-native.mdx +++ b/docs/connect-blockchain/evm/optimism/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Optimism Blockchain in React Native sidebar_label: React Native image: "guides/banners/optimism.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, optimism, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Optimism Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/unity.mdx b/docs/connect-blockchain/evm/optimism/unity.mdx index 00141b584..25103099c 100644 --- a/docs/connect-blockchain/evm/optimism/unity.mdx +++ b/docs/connect-blockchain/evm/optimism/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Optimism Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, optimism, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Optimism Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/optimism/web.mdx b/docs/connect-blockchain/evm/optimism/web.mdx index fb37be1d8..58783b0e4 100644 --- a/docs/connect-blockchain/evm/optimism/web.mdx +++ b/docs/connect-blockchain/evm/optimism/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Optimism Blockchain in JavaScript sidebar_label: Web image: "guides/banners/optimism.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [optimism, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Optimism Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/android.mdx b/docs/connect-blockchain/evm/polygon/android.mdx index f26d7017e..a4332d732 100644 --- a/docs/connect-blockchain/evm/polygon/android.mdx +++ b/docs/connect-blockchain/evm/polygon/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polygon Blockchain in Android sidebar_label: Android image: "guides/banners/polygon.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, polygon, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polygon Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/flutter.mdx b/docs/connect-blockchain/evm/polygon/flutter.mdx index 03afd3191..9fe91a248 100644 --- a/docs/connect-blockchain/evm/polygon/flutter.mdx +++ b/docs/connect-blockchain/evm/polygon/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polygon Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/polygon.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, polygon, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polygon Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/ios.mdx b/docs/connect-blockchain/evm/polygon/ios.mdx index b1cb6e0af..8c93429c7 100644 --- a/docs/connect-blockchain/evm/polygon/ios.mdx +++ b/docs/connect-blockchain/evm/polygon/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polygon Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/polygon.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, polygon, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polygon Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/polygon.mdx b/docs/connect-blockchain/evm/polygon/polygon.mdx index aed83198e..f95cd5f1a 100644 --- a/docs/connect-blockchain/evm/polygon/polygon.mdx +++ b/docs/connect-blockchain/evm/polygon/polygon.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Polygon Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/polygon.png" description: "Integrate Web3Auth with the Polygon Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/react-native.mdx b/docs/connect-blockchain/evm/polygon/react-native.mdx index b524d4529..7c1527444 100644 --- a/docs/connect-blockchain/evm/polygon/react-native.mdx +++ b/docs/connect-blockchain/evm/polygon/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polygon Blockchain in React Native sidebar_label: React Native image: "guides/banners/polygon.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, polygon, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polygon Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/unity.mdx b/docs/connect-blockchain/evm/polygon/unity.mdx index dad8f422e..61671bef8 100644 --- a/docs/connect-blockchain/evm/polygon/unity.mdx +++ b/docs/connect-blockchain/evm/polygon/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polygon Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, polygon, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polygon Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/polygon/web.mdx b/docs/connect-blockchain/evm/polygon/web.mdx index 7550d022a..d363d274a 100644 --- a/docs/connect-blockchain/evm/polygon/web.mdx +++ b/docs/connect-blockchain/evm/polygon/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polygon Blockchain in JavaScript sidebar_label: Web image: "guides/banners/polygon.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [polygon, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polygon Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/android.mdx b/docs/connect-blockchain/evm/skale/android.mdx index 2dedae704..be1ec8697 100644 --- a/docs/connect-blockchain/evm/skale/android.mdx +++ b/docs/connect-blockchain/evm/skale/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Skale Blockchain in Android sidebar_label: Android image: "guides/banners/skale.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, skale, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Skale Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/flutter.mdx b/docs/connect-blockchain/evm/skale/flutter.mdx index 6dcb95273..3062bbdb3 100644 --- a/docs/connect-blockchain/evm/skale/flutter.mdx +++ b/docs/connect-blockchain/evm/skale/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Skale Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/skale.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, skale, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Skale Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/ios.mdx b/docs/connect-blockchain/evm/skale/ios.mdx index 20a0ffb8f..4868a3a0b 100644 --- a/docs/connect-blockchain/evm/skale/ios.mdx +++ b/docs/connect-blockchain/evm/skale/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Skale Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/skale.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, skale, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Skale Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/react-native.mdx b/docs/connect-blockchain/evm/skale/react-native.mdx index 4ab66c1ba..f49a9f991 100644 --- a/docs/connect-blockchain/evm/skale/react-native.mdx +++ b/docs/connect-blockchain/evm/skale/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Skale Blockchain in React Native sidebar_label: React Native image: "guides/banners/skale.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, skale, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Skale Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/skale.mdx b/docs/connect-blockchain/evm/skale/skale.mdx index fe9807927..a72d51b73 100644 --- a/docs/connect-blockchain/evm/skale/skale.mdx +++ b/docs/connect-blockchain/evm/skale/skale.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Skale Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/skale.png" description: "Integrate Web3Auth with the Skale Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/unity.mdx b/docs/connect-blockchain/evm/skale/unity.mdx index 08d2a4829..9b5fdc5af 100644 --- a/docs/connect-blockchain/evm/skale/unity.mdx +++ b/docs/connect-blockchain/evm/skale/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Skale Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, skale, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Skale Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/skale/web.mdx b/docs/connect-blockchain/evm/skale/web.mdx index 2ccabdd82..b8eb55ad4 100644 --- a/docs/connect-blockchain/evm/skale/web.mdx +++ b/docs/connect-blockchain/evm/skale/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Skale Blockchain in JavaScript sidebar_label: Web image: "guides/banners/skale.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [skale, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Skale Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/android.mdx b/docs/connect-blockchain/evm/songbird/android.mdx index 1b4f8d8c6..3ec45b30a 100644 --- a/docs/connect-blockchain/evm/songbird/android.mdx +++ b/docs/connect-blockchain/evm/songbird/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Songbird Blockchain in Android sidebar_label: Android image: "guides/banners/songbird.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, songbird, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Songbird Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/flutter.mdx b/docs/connect-blockchain/evm/songbird/flutter.mdx index 712b7c799..1c1cb91c6 100644 --- a/docs/connect-blockchain/evm/songbird/flutter.mdx +++ b/docs/connect-blockchain/evm/songbird/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Songbird Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/songbird.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, songbird, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Songbird Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/ios.mdx b/docs/connect-blockchain/evm/songbird/ios.mdx index a4355d714..c63520a2d 100644 --- a/docs/connect-blockchain/evm/songbird/ios.mdx +++ b/docs/connect-blockchain/evm/songbird/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Songbird Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/guides/banners/songbird.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, songbird, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Songbird Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/react-native.mdx b/docs/connect-blockchain/evm/songbird/react-native.mdx index 26524669d..cb0f9910c 100644 --- a/docs/connect-blockchain/evm/songbird/react-native.mdx +++ b/docs/connect-blockchain/evm/songbird/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Songbird Blockchain in React Native sidebar_label: React Native image: "guides/banners/songbird.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, songbird, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Songbird Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/songbird.mdx b/docs/connect-blockchain/evm/songbird/songbird.mdx index 511959a49..b821c1d38 100644 --- a/docs/connect-blockchain/evm/songbird/songbird.mdx +++ b/docs/connect-blockchain/evm/songbird/songbird.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Songbird Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/songbird.png" description: "Integrate Web3Auth with the Songbird Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/unity.mdx b/docs/connect-blockchain/evm/songbird/unity.mdx index 327cb112c..c8467ebd2 100644 --- a/docs/connect-blockchain/evm/songbird/unity.mdx +++ b/docs/connect-blockchain/evm/songbird/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Songbird Blockchain in Unity sidebar_label: Unity image: "guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, songbird, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Songbird Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/songbird/web.mdx b/docs/connect-blockchain/evm/songbird/web.mdx index 88d915611..33df9783e 100644 --- a/docs/connect-blockchain/evm/songbird/web.mdx +++ b/docs/connect-blockchain/evm/songbird/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Songbird Blockchain in JavaScript sidebar_label: Web image: "guides/banners/songbird.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [songbird, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Songbird Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/android.mdx b/docs/connect-blockchain/evm/zkevm/android.mdx index e2101010f..270304b0c 100644 --- a/docs/connect-blockchain/evm/zkevm/android.mdx +++ b/docs/connect-blockchain/evm/zkevm/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Astar zkEVM Blockchain in Android sidebar_label: Android image: "content-hub/guides/banners/zkevm.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, zkevm, astar, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Astar zkEVM Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/flutter.mdx b/docs/connect-blockchain/evm/zkevm/flutter.mdx index ebd64b351..f621341e7 100644 --- a/docs/connect-blockchain/evm/zkevm/flutter.mdx +++ b/docs/connect-blockchain/evm/zkevm/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Astar zkEVM Blockchain in Flutter sidebar_label: Flutter image: "content-hub/guides/banners/zkevm.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, zkevm, astar, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Astar zkEVM Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/ios.mdx b/docs/connect-blockchain/evm/zkevm/ios.mdx index d1c130e82..36ff4ed16 100644 --- a/docs/connect-blockchain/evm/zkevm/ios.mdx +++ b/docs/connect-blockchain/evm/zkevm/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Astar zkEVM Blockchain in iOS/Swift Applications sidebar_label: iOS image: "/docs/content-hub/guides/banners/zkevm.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [ios, swift, zkevm, astar, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Astar zkEVM Blockchain in iOS/Swift Applications | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/react-native.mdx b/docs/connect-blockchain/evm/zkevm/react-native.mdx index b4d32d983..dffec3d76 100644 --- a/docs/connect-blockchain/evm/zkevm/react-native.mdx +++ b/docs/connect-blockchain/evm/zkevm/react-native.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Astar zkEVM Blockchain in React Native sidebar_label: React Native image: "content-hub/guides/banners/zkevm.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [react-native, zkevm, astar, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Astar zkEVM Blockchain in React Native | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/unity.mdx b/docs/connect-blockchain/evm/zkevm/unity.mdx index d2d827292..b4a06c13a 100644 --- a/docs/connect-blockchain/evm/zkevm/unity.mdx +++ b/docs/connect-blockchain/evm/zkevm/unity.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Astar zkEVM Blockchain in Unity sidebar_label: Unity image: "content-hub/guides/banners/unity.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [unity, zkevm, astar, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Astar zkEVM Blockchain in Unity | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/web.mdx b/docs/connect-blockchain/evm/zkevm/web.mdx index 7674aa65a..4de3d90e9 100644 --- a/docs/connect-blockchain/evm/zkevm/web.mdx +++ b/docs/connect-blockchain/evm/zkevm/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Astar zkEVM Blockchain in JavaScript sidebar_label: Web image: "content-hub/guides/banners/zkevm.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [zkevm, astar, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Astar zkEVM Blockchain in JavaScript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/evm/zkevm/zkevm.mdx b/docs/connect-blockchain/evm/zkevm/zkevm.mdx index c649d5e37..bf254e4c9 100644 --- a/docs/connect-blockchain/evm/zkevm/zkevm.mdx +++ b/docs/connect-blockchain/evm/zkevm/zkevm.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Astar zkEVM Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "content-hub/guides/banners/zkevm.png" description: "Integrate Web3Auth with the Astar zkEVM Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/algorand.mdx b/docs/connect-blockchain/other/algorand.mdx index 406a35435..11a3c077f 100644 --- a/docs/connect-blockchain/other/algorand.mdx +++ b/docs/connect-blockchain/other/algorand.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Algorand Blockchain sidebar_label: Algorand image: "guides/banners/algorand.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [algorand, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Algorand Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/aptos.mdx b/docs/connect-blockchain/other/aptos.mdx index 4c55a5438..39fcdddfc 100644 --- a/docs/connect-blockchain/other/aptos.mdx +++ b/docs/connect-blockchain/other/aptos.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Aptos Blockchain sidebar_label: Aptos image: "guides/banners/aptos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [aptos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Aptos Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/cosmos.mdx b/docs/connect-blockchain/other/cosmos.mdx index 75aa5428a..31d4b1043 100644 --- a/docs/connect-blockchain/other/cosmos.mdx +++ b/docs/connect-blockchain/other/cosmos.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Cosmos Blockchain sidebar_label: Cosmos image: "guides/banners/cosmos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [cosmos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Cosmos Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/immutablex.mdx b/docs/connect-blockchain/other/immutablex.mdx index bcd077eed..94e75b218 100644 --- a/docs/connect-blockchain/other/immutablex.mdx +++ b/docs/connect-blockchain/other/immutablex.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the ImmutableX Blockchain sidebar_label: ImmutableX image: "guides/banners/immutablex.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [immutablex, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the ImmutableX Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/near.mdx b/docs/connect-blockchain/other/near.mdx index 92561fa52..daa10e1e4 100644 --- a/docs/connect-blockchain/other/near.mdx +++ b/docs/connect-blockchain/other/near.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Near Protocol sidebar_label: Near image: "guides/banners/near.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [near, near protocol, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Near Protocol | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/other.mdx b/docs/connect-blockchain/other/other.mdx index 4dd08ac7f..96a9ab3b5 100644 --- a/docs/connect-blockchain/other/other.mdx +++ b/docs/connect-blockchain/other/other.mdx @@ -2,7 +2,7 @@ title: Connect Web3Auth with Other Blockchains sidebar_label: Algorand image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [web3auth, authentication, blockchain, agnostic] description: "Connect Web3Auth with any Blockchain - Chain Agnostic | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/polkadot.mdx b/docs/connect-blockchain/other/polkadot.mdx index 15ad3d22c..1dda45f2e 100644 --- a/docs/connect-blockchain/other/polkadot.mdx +++ b/docs/connect-blockchain/other/polkadot.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polkadot Blockchain sidebar_label: Polkadot image: "guides/banners/polkadot.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [polkadot, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polkadot Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/polymesh.mdx b/docs/connect-blockchain/other/polymesh.mdx index d6f034759..79f53c19f 100644 --- a/docs/connect-blockchain/other/polymesh.mdx +++ b/docs/connect-blockchain/other/polymesh.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Polymesh Blockchain sidebar_label: Polymesh image: "content-hub/guides/banners/polymesh.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [polymesh, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Polymesh Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/starkex.mdx b/docs/connect-blockchain/other/starkex.mdx index 0036dfcc5..65b4637e5 100644 --- a/docs/connect-blockchain/other/starkex.mdx +++ b/docs/connect-blockchain/other/starkex.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the StarkEx Blockchain sidebar_label: StarkEx image: "guides/banners/starkex.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [starkex, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the StarkEx Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/starknet.mdx b/docs/connect-blockchain/other/starknet.mdx index eb7ab5b2c..7d9d09701 100644 --- a/docs/connect-blockchain/other/starknet.mdx +++ b/docs/connect-blockchain/other/starknet.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the StarkNet Blockchain sidebar_label: StarkNet image: "guides/banners/starknet.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [starknet, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the StarkNet Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/other/tezos.mdx b/docs/connect-blockchain/other/tezos.mdx index 72ef85904..d56f51773 100644 --- a/docs/connect-blockchain/other/tezos.mdx +++ b/docs/connect-blockchain/other/tezos.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Tezos Blockchain sidebar_label: Tezos image: "guides/banners/tezos.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [tezos, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Tezos Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/solana/android.mdx b/docs/connect-blockchain/solana/android.mdx index 0d7572f6d..a6df85e32 100644 --- a/docs/connect-blockchain/solana/android.mdx +++ b/docs/connect-blockchain/solana/android.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Solana Blockchain in Android sidebar_label: Android image: "content-hub/guides/banners/solana.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [android, solana, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Solana Blockchain in Android | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/solana/flutter.mdx b/docs/connect-blockchain/solana/flutter.mdx index 55a4be01b..13f066469 100644 --- a/docs/connect-blockchain/solana/flutter.mdx +++ b/docs/connect-blockchain/solana/flutter.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Solana Blockchain in Flutter sidebar_label: Flutter image: "guides/banners/solana.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [flutter, solana, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Solana Blockchain in Flutter | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/solana/ios.mdx b/docs/connect-blockchain/solana/ios.mdx index ccf8e58a9..e99db82e6 100644 --- a/docs/connect-blockchain/solana/ios.mdx +++ b/docs/connect-blockchain/solana/ios.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Solana Blockchain in iOS sidebar_label: iOS image: "content-hub/guides/banners/solana.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [iOS, solana, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Solana Blockchain in iOS | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/solana/solana.mdx b/docs/connect-blockchain/solana/solana.mdx index b5ed4eea8..7941034c2 100644 --- a/docs/connect-blockchain/solana/solana.mdx +++ b/docs/connect-blockchain/solana/solana.mdx @@ -1,7 +1,7 @@ --- title: Integrate Web3Auth with the Solana Blockchain hide_table_of_contents: true -displayed_sidebar: docs +displayed_sidebar: resources image: "guides/banners/solana.png" description: "Integrate Web3Auth with the Solana Blockchain | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/solana/web.mdx b/docs/connect-blockchain/solana/web.mdx index 3745a3ff6..be246ad5e 100644 --- a/docs/connect-blockchain/solana/web.mdx +++ b/docs/connect-blockchain/solana/web.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the Solana Blockchain in Javascript sidebar_label: Web image: "guides/banners/solana.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [solana, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the Solana Blockchain in Javascript | Documentation - Web3Auth" --- diff --git a/docs/connect-blockchain/xrpl.mdx b/docs/connect-blockchain/xrpl.mdx index 859219fc3..3a091c8ab 100644 --- a/docs/connect-blockchain/xrpl.mdx +++ b/docs/connect-blockchain/xrpl.mdx @@ -2,7 +2,7 @@ title: Integrate Web3Auth with the XRPL Blockchain sidebar_label: XRPL image: "guides/banners/xrpl.png" -displayed_sidebar: docs +displayed_sidebar: resources keywords: [xrpl, web3auth, authentication, blockchain] description: "Integrate Web3Auth with the XRPL Blockchain | Documentation - Web3Auth" --- diff --git a/docs/contribute/contribute.mdx b/docs/contribute/contribute.mdx index 4d77da214..5d8f9f30e 100644 --- a/docs/contribute/contribute.mdx +++ b/docs/contribute/contribute.mdx @@ -7,11 +7,31 @@ image: "images/docs-meta-cards/documentation-card.png" #### Open source is the past, present, and future. -Here at Web3Auth, we're all about Open Source. As a business, we actively contribute to, and benefit from, open source and have open sourced most of -our code. +We invite you to contribute, including writing code, filing issues on GitHub, helping people on our community forum and our +[Discord channel](https://discord.gg/web3auth), helping to triage, reproduce, or fix bugs that people have filed, adding to our documentation, adding +new language support, or helping out in any other way. Before you get started, we encourage you to be gracious, respectful, and professional. -Head over to our organization page(s) on GitHub to see what we're doing and help us out in our journey of securing user's Identity and Funds. +#### Helping out in a triage process -- [Web3Auth's GitHub](https://github.com/Web3Auth) -- [Torus's GitHub](https://github.com/torusresearch) -- [tKey's GitHub](https://github.com/tkey) +Triage is the process of going through GitHub issues and [Community Forum posts](https://web3auth.io/community/), determining if they are valid, +finding out how to reproduce them, and catching duplicate reports. + +If you want to help us triage, you are very welcome to do so! + +#### Developing for Web3Auth + +If you prefer to write code, you may wish to start with our list of issues on [Web3Auth](https://github.com/Web3Auth), +[torusresearch](https://github.com/torusresearch), and [tkey](https://github.com/tkey) repositories. See the respective sections below for further +instructions. + +#### Documentation + +Another great area to contribute is Web3Auth samples and documentation. Our API docs reside in +[web3auth/docs](https://github.com/Web3Auth/web3auth-docs), and our samples reside in +[web3auth/web3auth-pnp-exampless](https://github.com/Web3Auth/web3auth-pnp-examples). In general, a really productive way to improve documentation is +to use Web3Auth and stop any time you have a question: find the answer, then document the answer where you first looked for it. + +#### Translation + +If you are interested in participating in our translation process, which may involve supporting new languages, and improving our existing +translations, then head over to [web3auth/web3auth-locales](https://github.com/Web3Auth/web3auth-locales) repository. diff --git a/docs/core-kit/features/create-user-flow.mdx b/docs/core-kit/features/create-user-flow.mdx deleted file mode 100644 index 712d90103..000000000 --- a/docs/core-kit/features/create-user-flow.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Create User Flows in Core Kit -displayed_sidebar: docs -description: "Create User Flows in Core Kit | Documentation - Web3Auth" ---- diff --git a/docs/core-kit/features/factors.mdx b/docs/core-kit/features/factors.mdx deleted file mode 100644 index 97034486d..000000000 --- a/docs/core-kit/features/factors.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Core Kit Share Management Factors -displayed_sidebar: docs -description: "Core Kit Share Management Factors | Documentation - Web3Auth" ---- diff --git a/docs/core-kit/features/session-management.mdx b/docs/core-kit/features/session-management.mdx deleted file mode 100644 index b0ce671f9..000000000 --- a/docs/core-kit/features/session-management.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Session Management -displayed_sidebar: docs -description: "Session Management | Documentation - Web3Auth" ---- diff --git a/docs/core-kit/going-live.mdx b/docs/core-kit/going-live.mdx deleted file mode 100644 index c097ee9b7..000000000 --- a/docs/core-kit/going-live.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Going Live with Web3Auth Core Kit -sidebar_label: Going Live Checklist -displayed_sidebar: docs -description: "Going Live with Web3Auth Core Kit | Documentation - Web3Auth" ---- - -Before going live with Web3Auth Core Kit SDKs, please make sure you have completed the following steps: - -### 1. Create a Web3Auth Production Client ID - -Make sure your client id for Web3Auth is on the Sapphire Mainnet Network. The Sapphire Mainnet is our geo-distributed, horizontally scalable network. -If you have certain specific requirements for the network configurations for scalability, please reach out to us at our -[Community Portal](https://community.web3auth.io). - -:::info - -You need to create a Sapphire Devnet client id for the same name before creating a production client id. This is to ensure that your testing and -production environments are separate and the wallets generated for the end users remain safe. - -::: - -:::warning - -All networks produce **different wallets/ accounts** for users, it is not possible to switch networks once you have created a client id. - -::: - -### 2. Create a Web3Auth Production Verifier - -It is mandatory to create a verifier, while using Web3Auth Core Kit. Make sure the network of the verifier is the same as the network of the client -id. - -:::warning - -All new verifiers produce **different wallets/ accounts** for users, it is not possible to rename a verifier once you have created it. - -::: - -### 3. Update your Web3Auth SDKs to the latest version - -We are constantly updating our SDKs to make sure they are secure and performant. Make sure you are using the latest version of the SDKs. Please do not -actively use the pre release versions, rather wait for the latest stable release. - -### 4. Use a production RPC Endpoint for your respective blockchains - -For testing purposes, our examples and SDKs use public RPC endpoints. Make sure you are using a production RPC endpoint (by providers like Infura, -Quicknode, Alchemy etc.) for your production environment before going live. This can be done by updating the provider URL in SDKs added for blockchain -calls. - -### 5. Audit the UX for your Web3Auth Login flow - -One of the major features of Web3Auth Core Kit is that you have full control of the UX end to end. Web3Auth itself is totally invisible. However, this -can come up with risks of losing wallets if the flow is not audited properly. Make sure you have audited the UX for your login flow before going live. -Test every possible user interaction with your app and the login flow and Web3Auth calls. - -:::warning - -If you're using Manual Metadata Sync, make sure your data is properly being synced when the user setups up new shares and makes any changes in their -existing shares. - -::: - -### 6. Check your interoperability flow - -If you've added [Web3Auth PNP plugins into your Core Kit Flow](/pnp/features/interoperability#interoperability-with-plugins) for interoperability, -make sure you have tested the flow before going live. - -### 7. Check in multiple browsers and devices - -The Web3Auth SDKs are built to work in all [major browsers and devices](/troubleshooting/supported-browsers). Make sure you have tested your login -flow in all major browsers and devices. If you're facing any issues with any particular browser or device, please make sure they're compatible with -the Web3Auth SDKs. - -### 8. Upgrade your Web3Auth Plan - -Finally, make sure you're on the correct [Web3Auth Plan](https://web3auth.io/pricing.html) according to the features you're looking to use in the -production environment. Additionally make sure to add a credit card in the Web3Auth Dashboard so that your services are not stopped once the MAW cap -has reached. - -:::info - -While using Core Kit, we recommend you to either on the [Scale or Enterprise Plan](https://web3auth.io/pricing.html) of Web3Auth so that we can help -you audit and optimize your login flow for max performance and avoid the loss of any wallets. - -::: diff --git a/docs/core-kit/introduction.mdx b/docs/core-kit/introduction.mdx deleted file mode 100644 index dd6c2ca97..000000000 --- a/docs/core-kit/introduction.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Web3Auth Core Kit -sidebar_label: Introduction -displayed_sidebar: docs -description: "Core Kit Web3Auth | Documentation - Web3Auth" ---- - -import TkeyIntroduction from "@site/src/common/docs/_tkey-intro.mdx"; - - diff --git a/docs/dashboard-setup/billing-and-usage.mdx b/docs/dashboard-setup/billing-and-usage.mdx index a61cfb9e4..428aef063 100644 --- a/docs/dashboard-setup/billing-and-usage.mdx +++ b/docs/dashboard-setup/billing-and-usage.mdx @@ -1,7 +1,7 @@ --- title: Billing and Usage image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Billing and Usage | Documentation - Web3Auth" --- diff --git a/docs/dashboard-setup/dashboard-setup.mdx b/docs/dashboard-setup/dashboard-setup.mdx index bc80cc61c..7c38b6f41 100644 --- a/docs/dashboard-setup/dashboard-setup.mdx +++ b/docs/dashboard-setup/dashboard-setup.mdx @@ -1,7 +1,8 @@ --- title: Dashboard Setup +sidebar_label: Overview image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Dashboard Setup | Documentation - Web3Auth" --- diff --git a/docs/dashboard-setup/enable-interoperability.mdx b/docs/dashboard-setup/enable-interoperability.mdx index 428292f59..b55b25d3e 100644 --- a/docs/dashboard-setup/enable-interoperability.mdx +++ b/docs/dashboard-setup/enable-interoperability.mdx @@ -1,7 +1,7 @@ --- title: Enable Interoperability image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Enable Interoperability | Documentation - Web3Auth" --- diff --git a/docs/dashboard-setup/projects-and-analytics.mdx b/docs/dashboard-setup/projects-and-analytics.mdx index f216419be..eb5acdb99 100644 --- a/docs/dashboard-setup/projects-and-analytics.mdx +++ b/docs/dashboard-setup/projects-and-analytics.mdx @@ -2,7 +2,7 @@ title: Projects and Analytics sidebar_label: Projects and Analytics image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Projects and Analytics | Documentation - Web3Auth" --- diff --git a/docs/dashboard-setup/roles-and-permissions.mdx b/docs/dashboard-setup/roles-and-permissions.mdx index 03ed5933e..bb858bd46 100644 --- a/docs/dashboard-setup/roles-and-permissions.mdx +++ b/docs/dashboard-setup/roles-and-permissions.mdx @@ -1,7 +1,7 @@ --- title: Roles and Permissions image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Organization Roles and Permissions | Documentation - Web3Auth" --- diff --git a/docs/dashboard-setup/setup-custom-authentication.mdx b/docs/dashboard-setup/setup-custom-authentication.mdx index ca095e383..c1c969185 100644 --- a/docs/dashboard-setup/setup-custom-authentication.mdx +++ b/docs/dashboard-setup/setup-custom-authentication.mdx @@ -1,7 +1,7 @@ --- title: Setup Custom Authentication image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Setup Custom Authentication | Documentation - Web3Auth" --- @@ -60,8 +60,8 @@ The following is the list we have on our Dashboard: - [Twitch](/auth-provider-setup/social-providers/twitch) - [Discord](/auth-provider-setup/social-providers/discord) 2. Custom Providers - - [Auth0](/auth-provider-setup/federated-identity-providers#auth0) - - [Custom JWT](/auth-provider-setup/byo-jwt-providers) + - [Auth0](/auth-provider-setup/authentication-service-providers#auth0) + - [Custom JWT](/auth-provider-setup/byo-jwt-provider) 3. Aggregate Multiple Providers - [Aggregate Verifier](/auth-provider-setup/aggregate-verifier) diff --git a/docs/dashboard-setup/whitelisting.mdx b/docs/dashboard-setup/whitelisting.mdx index 195d542c6..4c94d840f 100644 --- a/docs/dashboard-setup/whitelisting.mdx +++ b/docs/dashboard-setup/whitelisting.mdx @@ -2,7 +2,7 @@ title: Whitelisting your App Domain or Deep Links sidebar_label: Whitelisting URLs image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Client ID and Whitelisting references | Documentation - Web3Auth" --- diff --git a/docs/examples.mdx b/docs/examples.mdx index 14ec0d4ab..97cb96e20 100644 --- a/docs/examples.mdx +++ b/docs/examples.mdx @@ -1,6 +1,6 @@ --- title: Examples -displayed_sidebar: docs +displayed_sidebar: resources description: "Examples | Documentation - Web3Auth" image: "images/docs-meta-cards/documentation-card.png" hide_table_of_contents: true diff --git a/docs/examples/demo.mdx b/docs/examples/demo.mdx deleted file mode 100644 index e3d77f788..000000000 --- a/docs/examples/demo.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: Demo Applications -displayed_sidebar: docs -description: "Demo Applications | Documentation - Web3Auth" -image: "images/docs-meta-cards/documentation-card.png" ---- - -import Tiles from "@theme/Tiles"; - -export const repoURL = "https://github.com/Web3Auth/Web3Auth/tree/master/demo"; - -export const ExampleData = [ - { - name: "Web3Auth Web SDK Examples Different Languages and Frameworks", - description: - "You can find our example application developed on top of your preferred tech stack. Visit the GitHub Link to see the project, clone it locally and start developing!", - tiles: [ - { - key: "react-app", - title: "React.js Example", - icon: "logo-react.png", - path: `${repoURL}/react-app`, - }, - { - key: "vue-app", - title: "Vue.js Example", - icon: "logo-vue.png", - path: `${repoURL}/vue-app`, - }, - ], - }, - { - name: "Web3Auth Mobile SDK Examples", - description: "You can use Web3Auth in various mobile platforms. Visit the GitHub Link to see the project, clone it locally and start developing!", - tiles: [ - { - key: "android-app", - title: "Android Example", - icon: "logo-android.png", - path: `https://github.com/Web3Auth/web3auth-android-sdk/tree/master/app`, - }, - { - key: "swift-app", - title: "iOS Example", - icon: "logo-apple.png", - path: `https://github.com/Web3Auth/web3auth-swift-sdk/tree/master/Web3authSwiftSdkDemo`, - }, - { - key: "flutter-app", - title: "Flutter Example", - icon: "logo-flutter.png", - path: `https://github.com/Web3Auth/web3auth-flutter-sdk/tree/master/example`, - }, - { - key: "react-native-app", - title: "React Native Example", - icon: "logo-react.png", - path: `https://github.com/Web3Auth/web3auth-react-native-sdk/tree/master/example`, - }, - ], - }, - { - name: "Web3Auth Gaming SDK Examples", - description: - "Building a Web3 game? Use the Web3Auth Gaming SDKs to enable seamless onboarding for your users. Visit the GitHub Link to see the project, clone it locally and start developing!", - tiles: [ - { - key: "unity-app", - title: "Unity Example", - icon: "logo-unity.png", - path: `https://github.com/Web3Auth/web3auth-unity-sdk/tree/master/Assets/Plugins/Web3AuthSDK/Samples`, - }, - ], - }, -]; - -export const DemoData = [ - { - name: "", - description: "", - tiles: [ - { - key: "demo-app", - title: "Web Demo App", - icon: "logo-js.png", - path: "https://demo-app.web3auth.io", - }, - { - key: "demo-firebase", - title: "Firebase Demo App", - icon: "logo-firebase.png", - path: "https://demo-firebase.web3auth.io/", - }, - ], - }, -]; - - - -## Explore our full fledged Multi Page Demo Apps - - diff --git a/docs/examples/liveexamples.mdx b/docs/examples/liveexamples.mdx deleted file mode 100644 index 0ded1e001..000000000 --- a/docs/examples/liveexamples.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Live Examples -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Live and Production Examples | Documentation - Web3Auth" ---- - -import UsecaseCards from "@site/src/components/UsecaseCards"; - -Want to experience how our production applications use us? Here are a few links to some of our interesting customer implemetations to help you -experience the real world applications of Web3Auth. - -Most users do not want to be bothered with private keys and mnemonics. Web3Auth abstracts all these complexity behind a smooth Web 2.0 experience, -allowing users to dive straight into the action. - - diff --git a/docs/features/account-abstraction.mdx b/docs/features/account-abstraction.mdx new file mode 100644 index 000000000..3881b977b --- /dev/null +++ b/docs/features/account-abstraction.mdx @@ -0,0 +1,160 @@ +--- +title: Account Abstraction +displayed_sidebar: docs +description: "Account Abstraction | Documentation - Web3Auth" +--- + +import SafeAuthDescription from "@site/src/common/docs/wallet-ecosystems/_safeauth-description.mdx"; +import MocaverseDescription from "@site/src/common/docs/wallet-ecosystems/_mocaverse-description.mdx"; +import { safeauthkit, mocaverse } from "@site/src/components/SDKReferenceCards"; + +Account Abstraction (AA) revolutionizes Web3 authentication by integrating externally owned accounts (EOAs) and smart contracts, offering a more +seamless and secure way for decentralized applications (dApps) to interact with users. These AA-powered smart contract wallets have multiple benefits: + +- **Ecosystem Evolution** Driven by the ERC-4337 proposal, AA aims for its adoption across the Ethereum network, striving for universal account + abstraction. +- **Decentralized Integrity:** Maintains decentralization and censorship resistance, core principles of blockchain technology, through the application + of AA. +- **Gas Fee Sponsorship:** Offers the ability for users to perform gasless transactions, with fees sponsored by the dApp developers, reducing the + barrier to entry for users. +- **Sophisticated Recovery and Transfer Options:** Smart contract-based wallets can implement complex recovery methods and ownership transfer + mechanisms, offering enhanced security and flexibility. + +## Understanding EOAs & Smart Contract Wallets + +[EOA, or an externally-owned account](https://ethereum.org/en/developers/docs/accounts/) is a type of Ethereum account that is controlled by a private +key. EOAs can be created through Web3Auth-powered social logins, or by using external wallets such as MetaMask, Coinbase Wallet, Rainbow Wallet, etc. + +On the other hand, there are contract accounts that are controlled by smart contract codes and do not have their own private key. Safe's smart +wallet is a contract account that has enhanced capabilities, such as +gas sponsorship and batched transactions. + +Since contract accounts do not have their own private key, they require a signer to initiate transaction flows and produce signatures. Signers +are usually EOAs that authorize actions taken by the contract account via a signature. + +## Web3Auth's approach to Account Abstraction + +Web3Auth leverages the combination of Multi-Party Computation based social login EOAs with AA-based smart contract wallet accounts. By incorporating +MPC, AA's security and functionality are significantly enhanced. MPC distributes the validation process across multiple entities, ensuring no single +party can dominate transaction processes, thus bolstering security while maintaining user-friendliness. This results in: + +- **Enhanced Recoverability and UX:** Utilizes social login-based MPC EOAs to offer superior recoverability and a streamlined user experience, + negating the need for external wallet management. +- **Simplified Access and Management:** Facilitates easier account access and management through social logins and advanced recovery mechanisms, + promoting broader Web3 adoption. + +## Using Account Abstraction with Web3Auth + +Web3Auth's AA integration is designed to be developer-friendly, offering a range of tools and resources to simplify the process. All the major Account +Abstraction providers have integrated Web3Auth into their login stacks, enhancing the accessibility and security of their platforms. Web3Auth is proud +to be a part of this transformative movement, working closely with leading AA providers to ensure a seamless, secure login experience. Below are +highlights from a few of these collaborations: + +### SafeAuth Kit + + + +With extensive assets under its management, Safe promises robust Smart Account Infrastructure Safe champions open contract standards for the digital +ownership of assets, data, and identity. Their modular Smart Account framework encourages developers to innovate diverse applications and wallets. The +Safe\{Core} AA SDK offers kits to simplify smart contract account operations, complete with guides on integration. + +:::tip + +Check out Safe\{Core} AA SDK documentation https://docs.safe.global/safe-core-aa-sdk/auth-kit/guides/safe-auth + +::: + +{ safeauthkit } + +### Alchemy Account Kit + +The Alchemy Account Kit is a comprehensive solution designed to seamlessly integrate account abstraction into your Web3 application. Account Kit +equips developers with a suite of tools to implement smart accounts, offering enhanced functionalities like social login, gas sponsorship, and batched +transactions. With just a few lines of code, you can deploy smart accounts and streamline user operations in your app. + +Account Kit includes five components: + +- **aa-sdk**: A simple, powerful interface to integrate, deploy, and use smart accounts. The aa-sdk orchestrates everything under the hood to make + development easy. +- **Modular Account**: Secure, audited, modular smart accounts. It is easy to deploy when your users need them and extend with EIP-6900 plugins. +- **Signer**: Integrations with the most popular wallet providers. Secure your accounts with email, social login, passkeys, or a self-custodial wallet + Signer. +- **Gas Manager API**: A programmable API to sponsor gas for UserOps that meets your criteria. +- **Bundler API**: The most reliable ERC-4337 Bundler. Land your UserOps on-chain, batch operations, and sponsor gas at a massive scale. + +:::tip + +Check out Alchemy Account Kit Documentation https://accountkit.alchemy.com/signers/guides/web3auth.html + +::: + +### Biconomy SDK + +A pioneer in leveraging EIP4337 and gas abstraction, the Biconomy SDK is built firmly on the ERC4337 solution, offering a full spectrum of tools +tailored for dApps. It enhances the dApp user experience in a non-custodial manner. Key features include: + +- Seamless user onboarding with social login, account setup & recovery. +- An in-dApp fiat gateway for buying/selling crypto. +- Gasless transactions, allowing dApps to cover gas fees. +- Paying gas fees using ERC20 tokens. +- Custom transaction bundling to streamline multiple operations. + +:::tip + +Check out Biconomy documentation https://docs.biconomy.io/Account/signers/web3auth + +::: + +### Keyp + +Specifically crafted for game developers and NFT enthusiasts, Keyp offers tools to enhance the web3 onboarding experience. They envision a world where +users hold control over their digital assets. + +:::tip + +Check out Keyp documentation https://docs.usekeyp.com/ + +::: + +### ZeroDev + +ZeroDev focuses on offering the most straightforward developer experience for AA, supported by a robust smart wallet framework. It facilitates easy +smart wallet creation, provides essential smart wallet features, and allows for customized extensions using a plugin framework. Whether you're +creating a wallet or a DApp, ZeroDev promises to elevate the Web3 user experience. + +:::tip + +Check out ZeroDev documentation https://docs.zerodev.app/sdk/signers/web3auth + +::: + +### Gelato + +Committed to delivering the finest user experiences with gas abstraction, Gelato acts as web3's decentralized backbone. It offers a host of services: + +- Web3 functions connecting smart contracts to off-chain data. +- Reliable automated smart contract transactions. +- Gasless transaction relays via an intuitive API. +- A Gasless Wallet SDK in collaboration with Safe's Smart Contract Wallet. + +:::tip + +Check out Gelato documentation https://docs.gelato.network/developer-services/account-abstraction + +::: + +## Using Wallet Ecosystems with Account Abstraction + +In the realm of AA, Web3Auth has taken significant strides with wallet ecosystems like SafeAuth and Mocaverse, incorporating MPC with account +abstraction natively. These ecosystems showcase the practical application of MPC and AA, offering a unique blend of security, user experience, and +innovation. + +### Mocaverse ID + + + +These wallet ecosystems exemplify the potential of combining MPC with AA, offering users unparalleled security and convenience. Web3Auth's +collaboration with SafeAuth and Mocaverse underscores its commitment to advancing the state of Web3 authentication and wallet management, setting new +standards for the industry. + +{ mocaverse } diff --git a/docs/features/blockchain-agnostic.mdx b/docs/features/blockchain-agnostic.mdx new file mode 100644 index 000000000..8303c6982 --- /dev/null +++ b/docs/features/blockchain-agnostic.mdx @@ -0,0 +1,68 @@ +--- +title: Web3Auth is Chain Agnostic +sidebar_label: Blockchain Agnostic +displayed_sidebar: docs +description: "Web3Auth is Chain Agnostic | Documentation - Web3Auth" +--- + +import EVMChains from "@site/src/common/docs/_evm-chains.mdx"; +import OtherChains from "@site/src/common/docs/_other-chains.mdx"; + +Web3Auth's architecture is designed to be inherently blockchain agnostic, providing seamless integration across a diverse range of blockchain +ecosystems. This flexibility is a core component of Web3Auth's approach to decentralized authentication, ensuring broad applicability and +interoperability. + +:::tip + +Check out our [Connect Blockchain Reference](/connect-blockchain) for more details on how to connect different blockchains with Web3Auth. + +::: + +## Key Curve Support and Blockchain Compatibility + +By default, Web3Auth supports the `secp256k1` and `ed25519` key curves, which are widely used across the majority of blockchain platforms. This +inclusion ensures compatibility with a vast array of blockchain environments right out of the box. + +### Extending Beyond Default Curves + +While these curves cater to most blockchain requirements, Web3Auth recognizes the unique needs of various blockchains, some of which utilize different +curve implementations. To accommodate these diverse ecosystems, Web3Auth's non-MPC (Shamir Secret Sharing based) products enable interaction with any +blockchain, regardless of its specific curve requirements. + +## Dedicated Providers for MPC Products + +For those utilizing Web3Auth's MPC products, dedicated providers are necessary to ensure optimal interaction with specific blockchains. Currently, +Web3Auth MPC products offer support for EVM-compatible chains and Bitcoin, with development underway to include Solana. This approach guarantees that +Web3Auth remains at the forefront of blockchain authentication, offering versatile and secure solutions for a wide array of blockchain technologies. + +## Utilizing Private Keys with Non-MPC Products + +In the realm of non-MPC products, Web3Auth offers the capability to export the user's private key. This feature allows decentralized applications +(dApps) to directly interact with the blockchain using the exported key, facilitating a wide range of transactions and smart contract interactions. + +:::tip + +For detailed information on integrating with various blockchains, refer to our [Connect with Other Blockchains](/connect-blockchain/other/) section. + +::: + +:::info + +Web3Auth's composability enhances its blockchain agnosticism. It seamlessly integrates with meta-transaction flows, multisigs, and various +cryptographic protocols, making it a versatile foundation for building decentralized solutions. Web3Auth is compatible with numerous technology +stacks, including scalability solutions, smart contract wallets, different elliptic curve pairs, and even RSA. + +::: + +## Reference Guides for Blockchain Connections + +You can check out the following guides we've written for certain blockchains. We have covered a wide variety of EVM and EVM Chains, supported by +multiple web3auth providers. + +### EVM Chain Guides + + + +### Non EVM Chain guides + + diff --git a/docs/features/custom-authentication.mdx b/docs/features/custom-authentication.mdx new file mode 100644 index 000000000..9eca9f63d --- /dev/null +++ b/docs/features/custom-authentication.mdx @@ -0,0 +1,77 @@ +--- +title: Custom Authentication +image: "images/docs-meta-cards/documentation-card.png" +displayed_sidebar: docs +description: "Custom Authentication | Documentation - Web3Auth" +--- + +import BYOCustomJWTTiles from "@site/src/common/docs/_byo-custom-jwt-providers.mdx"; +import FederatedTiles from "@site/src/common/docs/_federated-providers.mdx"; +import SocialTiles from "@site/src/common/docs/_social-login-providers.mdx"; + +# Custom Authentication with Web3Auth + +Custom Authentication represents a pivotal feature within Web3Auth, enabling the integration of bespoke authentication flows into your application. +This approach is recommended for those seeking to move beyond Web3Auth's standard authentication modal, offering a more tailored and comprehensive +user experience. It empowers developers to craft authentication flows that are not only unique to their applications but also align with the nuanced +needs of their user base. + +:::tip + +Check out our reference on [Auth Provider Setup](/auth-provider-setup) for a detailed guide on how to set up your custom authentication. + +::: + +## Advantages of Custom Authentication + +- **Enhanced User Experience:** Custom Authentication ensures a seamless journey for users from the start of the authentication process to its + completion, maintaining consistency with your application's design and workflow. +- **Customizable User Data Collection:** It allows for the customization of the data collected from users during the authentication process, enabling + you to tailor onboarding and user management according to your specific requirements. +- **Seamless User Migration:** For applications transitioning to Web3Auth, Custom Authentication facilitates the migration of existing user bases + without necessitating the creation of new accounts, thereby preserving user continuity. + +## Implementation Across Web3Auth Products + +- **Plug and Play SDKs:** While Custom Authentication remains an optional feature for Plug and Play SDKs, it's highly recommended for developers + looking to provide a unique user experience and meet specific authentication requirements. +- **Core Kit SDKs:** Custom Authentication is a fundamental requirement for Core Kit SDKs, underscoring the need for bespoke authentication flows that + align with the specific needs of the application and its users. +- **Wallet Ecosystems:** Currently, Wallet Ecosystem integrations do not support Custom Authentication. These ecosystems leverage predefined + authentication mechanisms specific to each wallet platform. + +## Supported Login Providers + +### Social + + + +### Authentication Service Providers + + + +### Bring your own Custom Login Providers + + + +There are some nuances with certain login providers, so don't hesitate to get in touch with us on our +[Community Portal](https://web3auth.io/community) and we will take care of things from there. + +## FAQs + +### Which logins should my application support? + +You can select from [this list](/auth-provider-setup/#supported-auth-providers) or use your own custom authentication. There are some nuances with +certain login providers, so don't hesitate to get in touch with us. + +### Should different logins lead to the same key? + +You can choose to connect logins with the same `Verifier ID`. For example, if a user uses generic email logins and a Gmail login to log in on +different occasions he/she can still retrieve the same key. This can only be done on logins that share a common unique identifier for a user. + +Read more about aggregating logins [here](/auth-provider-setup/aggregate-verifier). + +### Can XXXX authenticator/login be supported? + +Yes, If you'd like support for a particular login system do send your query over to hello@web3auth.io If you have any questions, please get in touch +with us on [Community Portal](https://web3auth.io/community). We'll be happy to help you out! diff --git a/docs/features/gaming.mdx b/docs/features/gaming.mdx new file mode 100644 index 000000000..06dce794d --- /dev/null +++ b/docs/features/gaming.mdx @@ -0,0 +1,53 @@ +--- +title: Web3Auth for Gaming +sidebar_label: Gaming +displayed_sidebar: docs +description: "Web3Auth for Gaming | Documentation - Web3Auth" +--- + +import { pnpgaming } from "@site/src/components/SDKReferenceCards"; + +Web3Auth recognizes the unique needs of the gaming industry and offers tailored solutions through its Plug and Play SDKs, specifically designed for +game developers working with Unity and Unreal engines. These native SDKs ensure seamless integration of Web3Auth's authentication and wallet services, +providing gamers with a secure and user-friendly experience without leaving the gaming environment. + +## Key Features of Web3Auth's Gaming SDKs + +- **Seamless Integration:** Designed for ease of use, the native SDKs for Unity and Unreal allow for straightforward integration of Web3Auth's + services into gaming projects, ensuring developers can focus on creating immersive gaming experiences. +- **Comprehensive Authentication and Wallet Services:** Web3Auth's SDKs come equipped with full support for its authentication and wallet services, + enabling gamers to securely manage their identities and transactions within the game. +- **Enhanced Gaming Experience:** By integrating Web3Auth directly into games, developers can offer players a more cohesive and integrated experience, + from secure login mechanisms to in-game purchases and asset management. + +## Advantages for Game Developers + +- **Native Support for Leading Game Engines:** With dedicated SDKs for Unity and Unreal, Web3Auth caters to a significant portion of the game + development market, providing tools that are both accessible and powerful. +- **Streamlined User Onboarding:** Web3Auth's solutions simplify the onboarding process, allowing players to quickly and securely access games without + cumbersome authentication barriers, enhancing player retention and satisfaction. +- **Secure In-Game Transactions:** The integration of Web3Auth's wallet services within games facilitates secure, seamless transactions, enabling + features like in-game purchases, NFTs, and token rewards without compromising on security. + +Web3Auth's commitment to the gaming industry is evident in its provision of specialized SDKs for Unity and Unreal, making it easier for game +developers to incorporate Web3 technologies into their titles. This approach not only elevates the gaming experience but also paves the way for a new +era of secure, blockchain-enabled gaming ecosystems. + +## Web3Auth Plug and Play Gaming SDKs + +--- + +{ pnpgaming } + +## Ludex Gaming SDK + +Ludex has partnered with Web3Auth to provide web3 solutions for video game developers, facilitating the easy integration of blockchain smart contracts +into games using conventional SDKs and APIs. With the foundation of Web3Auth, game developers can construct a full-fledged web3 game without delving +into the nuances of blockchain technology. Ludex offers a wallet connection integration using Web3Auth for Unity WebGL, Mobile and PC. The Unity SDKs +also include Fungible Token & Non-Fungible Token integration. + +:::tip + +Check out Ludex documentation https://docs.ludex.gg/ + +::: diff --git a/docs/features/interoperability.mdx b/docs/features/interoperability.mdx new file mode 100644 index 000000000..b803319db --- /dev/null +++ b/docs/features/interoperability.mdx @@ -0,0 +1,55 @@ +--- +title: Interoperability +image: "images/docs-meta-cards/documentation-card.png" +displayed_sidebar: docs +description: "Interoperability | Documentation - Web3Auth" +--- + +import CreateImageUrl from "@site/static/guides/interoperability/dashboard-create-pnp-1.png"; +import CreateDashboardPnp from "@site/static/guides/interoperability/dashboard-create-pnp-3.png"; +import CreateDashboardPnp4 from "@site/static/guides/interoperability/dashboard-create-pnp-4.png"; +import WalletOnDapp from "@site/static/guides/interoperability/interoperability-via-plugin.png"; +import Image1 from "@site/static/guides/interoperability/torus-wallet-login-1.png"; +import TorusWalletLogin from "@site/static/guides/interoperability/torus-wallet-login-2.png"; +import TorusWalletLogin3 from "@site/static/guides/interoperability/torus-wallet-login-3.png"; + +import { walletservices } from "@site/src/components/SDKReferenceCards"; + +Interoperability stands as a cornerstone feature of Web3Auth Wallet Services, emphasizing the seamless interaction and connection capabilities between +different blockchain applications and ecosystems. This feature enables the creation of a versatile wallet experience, where users can easily navigate +across various dApps and platforms without the need for multiple wallets or complex integration processes. + +## Core Aspects of Interoperability + +Web3Auth Wallet Services' interoperability feature is designed to provide users and developers with a fluid, cohesive blockchain experience, +highlighting two key functionalities: + +- **Wallet Ecosystems Integration:** Wallets created or managed through Web3Auth can interact with and authorize transactions in other applications + that are part of the Web3Auth Wallet Ecosystems. This cross-application functionality enriches the user experience, allowing for a broader + engagement with the blockchain space without the constraints of wallet incompatibility. + +- **WalletConnect Support:** Further enhancing interoperability, Web3Auth integrates with WalletConnect, a widely adopted protocol for connecting + decentralized applications with mobile wallets. This integration enables users of Web3Auth to connect their wallets to a vast array of dApps across + different blockchains, facilitating a unified, secure, and decentralized interaction model. + +## Benefits of Interoperability + +The interoperability feature of Web3Auth Wallet Services offers several advantages to both users and developers: + +- **Enhanced User Experience:** Users enjoy a simplified and streamlined experience, managing their assets and interactions across multiple platforms + with a single wallet, reducing the complexity traditionally associated with blockchain ecosystems. + +- **Increased Engagement:** By lowering barriers to entry and simplifying cross-platform transactions, interoperability encourages broader + participation in the blockchain space, potentially increasing user engagement and retention for dApps. + +- **Simplified Development:** For developers, the interoperability feature reduces the burden of creating and maintaining compatibility with numerous + wallets and protocols, allowing for a focus on core application development and user experience. + +- **Security and Trust:** Leveraging trusted protocols like WalletConnect within the interoperable ecosystem of Web3Auth ensures that security is + maintained across connections, fostering trust and confidence among users. + +## Integrate Wallet Services + +--- + +{ walletservices } diff --git a/docs/user-flow.mdx b/docs/features/mfa.mdx similarity index 65% rename from docs/user-flow.mdx rename to docs/features/mfa.mdx index 7a3d9ed5c..06bec1f76 100644 --- a/docs/user-flow.mdx +++ b/docs/features/mfa.mdx @@ -1,21 +1,29 @@ --- -title: User Flows with Web3Auth -image: "images/docs-meta-cards/documentation-card.png" +title: Multi Factor Authentication displayed_sidebar: docs -description: "User Flows with Web3Auth | Documentation - Web3Auth" +description: "Multi Factor Authentication | Documentation - Web3Auth" --- -Web3Auth enables simple Web2 flows for Web3 onboarding. However, as good as that sounds, this process has a few moving parts for the developers to -understand and implement. The major reason behind this is to ensure that the user information is secure and they're in control of their wallets. In -all, our goal is that the process is transparent to the users and developers and they can choose the best flows according to their needs. Before -starting, make sure you understand [how web3auth works](/how-web3auth-works), so that you can understand the different available flows mentioned here. +At the core, Web3Auth enables simple Web2 flows for Web3 onboarding. However, as simple as it sounds, maintaining non-custodiality in such a setup is +extremely difficult. Hence, we came up with a unique offering ie. Multi-Factor Keys, an extension to Multi Factor Authentication (MFA) where your keys +are tied to different authentication methods. These keys are extracted from the user's social accounts, devices, recovery phrases etc. and are used to +get the user's account. -## One-Click Login +While this adds an extra layer of security, it also ensures that the user is in control of their keys and can recover them if they lose access to one +of the factors. To ensure ownership, you must provide two or more different backup factors. Once you create sufficient recovery factors, MFA is +enabled, and your keys are divided into shares, making the key self-custodial. + +However, as good as that sounds, this process has a few moving parts for the developers to understand and implement. The major reason behind this is +to ensure that the user information is secure and they're in control of their wallets. In all, our goal is that the process is transparent to the +users and developers and they can choose the best flows according to their needs. Before starting, make sure you understand +[how web3auth works](/how-web3auth-works), so that you can understand the different available flows mentioned here. + +## One-Click Login (Single Factor Auth) This is the simplest flow for a user to onboard with Web3Auth. The user just needs to click on the login button, connect to their favorite social -account (OAuth) or any passwordless flow, like email passwordless, biometric authentication etc., and a wallet is generated for them. This flow has a -1/1 Key Share setup and the whole key via Web3Auth Auth Network key shares in the openlogin.com frontend. This flow is still non-custodial since the -nodes in the Web3Auth network have a 5/9 consensus mechanism to generate the key shares. +account (OAuth) or any passwordless flow, like email-passwordless, biometric authentication etc., and a wallet is generated for them. This flow has a +1/1 Key Share setup and the whole key via Web3Auth Auth Network key shares. This flow is still non-custodial since the nodes in the Web3Auth network +have a 5/9 consensus mechanism to generate the key shares. :::warning @@ -25,23 +33,23 @@ flow.** ::: -:::info +:::info technical insight -In our One Click Flow, we add a `nonce` value to the social login share to keep the threshold 2/2. while it feels like 1/1. This is done to ensure -that the application has the flexibility to move to a 2/n MFA flow in the future if they want to. As the application triggers the creation of MFA -Factors the nonce is automatically deleted. +In our One Click Flow, we add a `nonce` value, stored in our encrypted metadata server, to the social login share to keep the threshold 2/2, while it +feels like 1/1. This is done to ensure that the application has the flexibility to move to a 2/n MFA flow in the future if they want to. As the +application triggers the creation of MFA Factors the nonce is automatically deleted. ::: :::tip -- The Single Factor SDKs help you directly achieve this flow. +- The **Core Kit Single Factor SDKs** help you directly achieve this flow. - For Plug and Play SDKs, this flow can be achieved by setting the `MFALevel` to `'none'` within the Web3Auth Login while logging a user in. ::: -## Adding a Multi-Factor Authentication (Recommended) +## Adding Multi-Factor Authentication The Multi-Factor Authentication (MFA) feature refers to the ability of the user to create a backup share (recovery factor). This feature plays a key role in the Wallet Infrastructure of Web3Auth and a developer needs to properly understand it to be able to onboard users safely and effectively. The @@ -51,19 +59,21 @@ with the user's social account or the Web3Auth Network. ### Types of MFA Flows -With both Core Kit and Plug and Play SDKs, you have the choice to use multiple types of multi-factor flows according to your needs. With Plug and -Play, we expose various logins out of the box. For Core Kit SDKs, the developers can determine which flow suits them the most, with total freedom of -managing key storage and access. For Plug and Play, we have some predefined configurations that can be used. +With Core Kit MFA and Plug and Play SDKs, you have the choice to use multiple types of multi-factor flows according to your needs. With Plug and Play, +we expose various logins out of the box. For Core Kit SDKs, the developers can determine which flow suits them the most, with total freedom of +managing key storage and access. + +| MFA Type | Custodiality of MFA | Ease of Access | Setup Custodiality | Availability in Plug and Play SDKs | +| ---------------------------- | ----------------------------------------------- | -------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| **Recovery Mnemonic Phrase** | Self Custodial to User | Difficult | Fully Non-Custodial | Yes | +| **Email Backup Share** | Potentially Custodial to Email Provider | Medium | Non-Custodial / Semi-Custodial _(if same email as first factor social login)_ | Yes, SMTP server for email can be customized for Enterprise Customers. | +| **Backup Password** | Semi Custodial to the Encrypted Metadata Server | Medium | Non-Custodial | Yes | +| **Secondary Social Login** | Semi Custodial to Social Provider | Easy | Non-Custodial / Semi-Custodial _(if same social login provider for first factor)_ | Yes, with Default Social Providers | +| **SMS Passwordless** | Semi Custodial to SMS Service | Easy | Non-Custodial | Yes, with Web3Auth SMS Server | +| **Email Passwordless** | Semi Custodial to Email Provider | Easy | Non-Custodial / Semi-Custodial _(if same email as first factor social login)_ | Yes, with Web3Auth Email Passwordless Server | +| **Passkeys** | Non Custodial | Easy | Non-Custodial | Yes, with Web3Auth Passkeys Server | -| MFA Type | Custodiality of MFA | Ease of Access | Setup Custodiality | Availability in Plug and Play SDKs | -| ----------------------------- | --------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -| **Recovery Mnemonic Phrase ** | Self Custodial to User | Difficult | Fully Non-Custodial | Yes | -| **Email Backup Share** | Potentially Custodial to Email Provider | Medium | Non-Custodial
Semi-Custodial _(if same email as first factor social login)_ | Yes, SMTP server for email can be customized for Enterprise Customers. | -| **Backup Password** | Semi Custodial to the Encrypted Metadata Server | Medium | Non-Custodial | Yes | -| **Secondary Social Login** | Semi Custodial to Social Provider, using Distributed Web3Auth Network | Easy | Non-Custodial
Semi-Custodial _(if same social login provider for first factor)_ | Yes, however, custom authentication cannot be used for the second factor | -| **SMS Passwordless** | Semi Custodial to SMS Service using Distributed Web3Auth Network | Easy | Non-Custodial | Yes, however, custom authentication cannot be used for the second factor | -| **Email Passwordless** | Semi Custodial to Email Provider using Distributed Web3Auth Network | Easy | Non-Custodial
Semi-Custodial _(if same email as first factor social login)_ | Yes, however, custom authentication cannot be used for the second factor | -| **Passkeys** | Semi Custodial using Distributed Web3Auth Network | Easy | Non-Custodial | No | +## Best Practices for MFA Setup ### Setting up the Threshold for MFA @@ -76,7 +86,7 @@ only using the Core Kit SDKs. The Plug and Play SDKs come with a default thresho | Parameter | restricting to 2/2 shares | allowing ≥ 2/3 shares | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Non-Custodiality:** Ownership/access to a user key and/or Ability to grief? | “Semi-custodial” - Never has access but nodes/ network always can grieve in this setup, as they always own one of the only factors. | More fully non-custodial, can’t grief, a user can ALWAYS reconstruct their key pair | +| **Non-Custodiality:** Ownership/access to a user key and/or Ability to grief? | “Semi-custodial” - Never has access but nodes/networks always can grieve in this setup, as they always own one of the only factors. | More fully non-custodial, can’t grief, a user can ALWAYS reconstruct their key pair | | **Redundancy:** The ability to ensure that users never lose their key. Conversely the likelihood of a user’s key being lost, due to a loss of factors. | In a 2/2 setup, the nodes become even more important. If nodes go down/lose factor due to issues users lose their keys. Users get redundancy on their side by copying the factor/share that they have across their devices. | In a ≥ 2/3 setup, users can get redundancy in the same way as 2/2 (by copying the same factors) or by increasing the threshold 2/4, 2/5. | | **Control vs Security:** Restricted access means greater practical security from the network/cloud provider | When we restrict things to the 2/2 flow, we can be certain that the user cannot transact without the node network. While it acts as a sword towards non-custodial, it can be a strong shield. For example, we can not allow a tx that withdraws all the user's money from the user (unless they do extra validation with us) | in the 2/3 flow, the user always has full access to the key. We can still do the same restrictions, but we don’t have the guarantee that the user won’t transact without us cause they can always reconstruct the key. | | **Exportability vs Security:** Exporting keys from the system | To have a restricted 2/2 flow is to restrict exportability. Still can be done with extra validation. | Always exportable all the time. This could be a detriment as, if we give the ability to transport and reshare the key out (without extra validation/restriction) it's as good as v1 technically as a hacker can always reshare the user keys. | @@ -118,6 +128,23 @@ when to trigger your MFA flow. This has to be done manually in the Core Kit SDKs ::: +### The dApp Share in PnP SDKs + +Once a user logs in, with their MFA-enabled accounts, their details can be accessed by utilizing the `getUserInfo()` function. Within the response, +Web3Auth returns a field called `dappShare`, which is a 24-word seed phrase that can be used to reconstruct the private key. + +These dappShares supplement Share B and makeup half of the private key. The application can securely store the dApp share in its local storage. Users +can use their social media accounts to obtain one share when logging in. The application provides the dApp Share, eliminating the need to store the +share in the browser context and enabling users to log in smoothly. + +:::note + +It's important to understand that `dappShare` is exclusively for `custom verifiers` and can't be used with standard web3auth verifiers. Moreover, +**only users who have `enabled MFA` can access it**. To use dApp Share, you need to use the custom authentication feature of Web3Auth. This guarantees +that an application can only access the share corresponding to a user's private key. + +::: + ## Web3Auth's Approach Towards User Onboarding Web3Auth approaches user onboarding via **Progressive Discoverability**. This means that we are not forcing users to create a backup share right away. @@ -168,8 +195,3 @@ beyond the integrating application. A dApp can achieve this by: - Making users aware of the different types of shares and how they can be used to reconstruct their private keys. - Making users aware of the importance of keeping their recovery phrases safe. - Occasional check if the user has a recovery phrase or not. - -### Interoperability - -Interoperability, or the ability to use the same account across multiple applications, is a key feature of Web3Auth. This is achieved by the multiple -flows as mentioned in the [Interoperability](/pnp/features/interoperability) section of the documentation. diff --git a/docs/features/mobile.mdx b/docs/features/mobile.mdx new file mode 100644 index 000000000..3e70be01e --- /dev/null +++ b/docs/features/mobile.mdx @@ -0,0 +1,58 @@ +--- +title: Native Mobile SDKs +displayed_sidebar: docs +description: "Native Mobile SDKs | Documentation - Web3Auth" +--- + +import { corekitmfamobile, pnpmobile, corekitsfamobile } from "@site/src/components/SDKReferenceCards"; + +Web3Auth is dedicated to providing a seamless mobile experience, emphasizing a mobile-first approach across all the products. Recognizing the +importance of native performance and security, Web3Auth supports a wide range of mobile platforms and technologies, ensuring developers have the tools +they need to integrate Web3 authentication and wallet services smoothly into their mobile applications. + +## Supported Platforms and Technologies + +Web3Auth extends comprehensive support to Android, iOS, React Native, and Flutter, enabling developers to deploy native applications with full +Web3Auth functionality. Additionally, the use of rust-based libraries underpins the SDKs, ensuring high performance and native integration within +mobile apps. + +### Key Features: + +- **Session Management & Wallet Services:** Operate natively within mobile applications, providing users with a seamless experience for managing their + digital identities and assets. +- **Secure Key Share Storage:** Utilizes the secure storage options available on mobile devices, such as Android Encrypted Shared Preferences and iOS + Keychain Services, to safely manage key shares and enhance overall security. +- **Deep Linking Support:** Acknowledging the critical role of deep linking in mobile apps, Web3Auth offers guidance and best practices for + implementing deep linking effectively. + +For more detailed insights into deep linking with Web3Auth, explore our +[blog and best practices](https://blog.web3auth.io/a-comprehensive-guide-to-deep-links-and-app-links-in-android/). + +## Emphasizing Mobile-First Development + +Web3Auth's emphasis on mobile-first development ensures that applications leveraging its SDKs can offer their users a native, secure, and +user-friendly experience. By accommodating a wide range of mobile platforms and focusing on key mobile-specific features and security measures, +Web3Auth positions itself as a leader in facilitating the integration of Web3 technologies into the mobile ecosystem. + +## Integration with Mobile Platforms + +Web3Auth's SDKs are designed to integrate smoothly with a variety of mobile development platforms, ensuring developers can leverage Web3Auth features +regardless of their chosen framework. + +### Plug and Play Mobile SDKs + +--- + +{ pnpmobile } + +### Core Kit SFA Mobile SDKs + +--- + +{corekitsfamobile} + +### Core Kit MFA Mobile SDKs + +--- + +{corekitmfamobile} diff --git a/docs/features/mpc.mdx b/docs/features/mpc.mdx new file mode 100644 index 000000000..6e662ba6a --- /dev/null +++ b/docs/features/mpc.mdx @@ -0,0 +1,78 @@ +--- +title: Multi-Party Computation +displayed_sidebar: docs +description: "Multi-Party Computation | Documentation - Web3Auth" +--- + +import KeyManagement from "@site/static/images/key-management.png"; +import { corekitmfamobile, corekitmfaweb } from "@site/src/components/SDKReferenceCards"; + +Multi-Party Computation (MPC) forms the backbone of Web3Auth's advanced wallet infrastructure, offering a secure and non-custodial way to manage +digital assets. This document provides a high-level overview, with links to more in-depth technical documentation for those who wish to explore +further. + +:::note + +This section is an overview of Web3Auth MPC. For an in-depth understanding, it might be helpful to read through +[How Web3Auth Works](/docs/how-web3auth-works/) and [Wallet Management and Security of our Infrastructure](/docs/infrastructure/). + +::: + +## Understanding MPC in Web3Auth + +Web3Auth utilizes Threshold Cryptography, a principle of MPC, to ensure that a user can access their private key or generate transaction signatures +only if they meet a specified threshold - typically 2 out of n key shares. + +### Design Goals + +- **Seamless User Experience:** Web3Auth aims to provide a frictionless non-custodial wallet experience. +- **Broad Compatibility:** Ensures integration with existing authentication methods and blockchain ecosystems. +- **Global Performance & Scalability:** Designed to meet the expansive demands of the Web3 market efficiently. + +### Typical 2 out of 3 (2/3) Setup + +In this setup, users are equipped with three factors for authentication and recovery: + +1. **OAuth Login Factor:** Managed across Web3Auth's Auth Network, accessible via OAuth providers like Google. +2. **Device Factor:** Stored securely on the user's device, often protected by device-specific security features such as biometrics. +3. **Backup/ 2FA Factor:** Acts as a recovery share, stored separately or based on user's input with sufficient entropy, including passwords or + security questions. + +### Implementation Variants + +Web3Auth's MPC is implemented in two main forms: + +1. **Shamir Secret Sharing-based shallow MPC:** Utilizes secret sharing for a simplified key reconstruction approach. +2. **Threshold Signature Scheme (TSS) based full MPC:** Enhances security by enabling partial signature generations instead of key reconstructions, + maintaining the integrity of the distributed private key. + +{" "} + +Showing How Web3Auth Key Generation works + +Both methods adhere to the core concept of threshold-based security but differ in their approach to key management and signature generation. + +## Web3Auth Wallet Management Infrastructure + +Web3Auth's [Wallet Management Infrastructure](/infrastructure/) enhances security by distributing a user's wallet across various key shares, thereby +avoiding direct exposure of seed phrases. These key shares form a 'web of trust' and enable wallet management akin to multi-factor account handling. +Users employ OAuth logins, trusted devices, and other factors to manage their cryptographic key pairs. Importantly, the complete private keys are not +stored anywhere within the Wallet Infrastructure system, including our databases or any participating nodes. + +To create a social login share, users interact with the Web3Auth Auth Network, where key generation operates via a 5/9 consensus system. This setup +guarantees that wallets remain non-custodial, ensuring that neither Web3Auth, Social Login Providers, nor any other party holding a key share can +claim full ownership. + +:::tip managing wallets + +For managing wallets, our infrastructure uses various cryptographic techniques such as Shamir's Secret Sharing, Threshold Cryptography, and Multi +Party Computation. To learn more about how we manage wallets, please refer to our +[Wallet Management and Security of our Infrastructure](/infrastructure/). + +::: + +## Implement Web3Auth MFA SDKs + +Our Core Kit MFA SDKs use Web3Auth's MPC to provide a seamless and secure multi-factor authentication experience. + +{ corekitmfaweb } {corekitmfamobile} diff --git a/docs/pnp/features/server-side-verification/social-login-users.mdx b/docs/features/server-side-verification.mdx similarity index 52% rename from docs/pnp/features/server-side-verification/social-login-users.mdx rename to docs/features/server-side-verification.mdx index 0d2559b94..8299545bd 100644 --- a/docs/pnp/features/server-side-verification/social-login-users.mdx +++ b/docs/features/server-side-verification.mdx @@ -1,87 +1,33 @@ --- -title: Social Login Users +title: Server-Side Verification displayed_sidebar: docs -description: "Social Login Users | Documentation - Web3Auth" -image: "images/docs-meta-cards/documentation-card.png" +description: "Server-Side Verification | Documentation - Web3Auth" --- +import TabItem from "@theme/TabItem"; +import Tabs from "@theme/Tabs"; import Tiles from "@theme/Tiles"; -export const getUserInfoData = [ - { - name: "", - description: "", - tiles: [ - { - key: "web", - title: "Web", - icon: "logo-js.png", - path: "/sdk/pnp/web/modal/usage#get-users-information", - }, - { - key: "android", - title: "Android (Kotlin)", - icon: "logo-android.png", - path: "/sdk/pnp/android/usage#web3authgetuserinfo", - }, - { - key: "apple", - title: "iOS (Swift)", - icon: "logo-apple.png", - path: "/sdk/pnp/ios/usage#getuserinfo", - }, - { - key: "react-native", - title: "React Native", - icon: "logo-react.png", - path: "/sdk/pnp/react-native/usage#getting-the-user-information", - }, - { - key: "flutter", - title: "Flutter", - icon: "logo-flutter.png", - path: "/sdk/pnp/flutter/usage#getuserinfo", - }, - ], - }, -]; - -export const getAuthenticateUserData = [ - { - name: "", - description: "", - tiles: [ - { - key: "web", - title: "Web", - icon: "logo-js.png", - path: "/sdk/pnp/web/modal/usage#get-idtoken", - }, - ], - }, -]; +Web3Auth's server-side verification feature enables developers to securely authenticate users on the backend by validating the ownership of a wallet +address. This process involves the use of a JSON Web Token (JWT) issued upon user authentication, which contains claims about the end user, including +proof of ownership over a wallet public address. -## Get idToken +Upon a user's successful connection of their wallet, Web3Auth generates a JWT, signed with a private key using the RS256 algorithm, that is unique to +your application. This token serves as a verifiable credential that you can use to authenticate the user on your backend. -### `getUserInfo` +## Implementing Server-Side Verification -```tsx -await web3auth.getUserInfo(); -``` +To implement server-side verification with Web3Auth: -#### Returns +1. **Retrieve the JWT (`idToken`):** After a user authenticates, capture the `idToken` issued by Web3Auth. +2. **Verify the JWT:** Use the public key provided by Web3Auth to verify the JWT's authenticity. This step confirms that the token is valid and the + information it contains about the user can be trusted. +3. **Authenticate the User:** Based on the verified claims within the JWT, including wallet address ownership, authenticate the user in your backend + system. -```json -{ - // ... other properties - "idToken": "" - // ... other properties -} -``` +## Getting the JWT ID Token - - -### `authenticateUser` +After a user is logged in using one of the supported Wallets, One can obtain the `idToken` by calling the `authenticateUser` function of Web3Auth. ```tsx await web3auth.authenticateUser(); @@ -95,9 +41,35 @@ await web3auth.authenticateUser(); } ``` - +:::tip Extending Beyond Social Logins + +Web3Auth's server-side verification extends not only to users authenticated via the provided social logins, but also to those using external wallets. +This flexibility ensures that dApps can authenticate Web3Auth users in their backend systems, regardless of the authentication method used on the +frontend. + +For Web3Auth integrated wallet adapters and social logins, the flow is built into the SDKs, for external wallets, please use the +[Sign in With Web3](https://siww.web3auth.io/) library built by us to get the `idToken` and verify it on your backend. -### Sample `idToken` payload +::: + +### Sample ID Token payload + +:::warning + +The External Wallet's `idToken` payload is different than the Social login's `idToken`. During Social logins, we get the user's pub key, and in +external wallet we get their address. + +::: + + + + ```json { @@ -135,19 +107,84 @@ await web3auth.authenticateUser(); | `exp` | `number` | The "exp" (expiration time) claim identifies the expiration time on or after which the _JWT MUST NOT be accepted for processing_. | | `wallets` | `array` | list of wallets for which this token is issued:
  • `curve` "secp256k1" (default) or "ed25519"
    You can specify which curve you want use for the encoded public key in the login parameters
  • `type` "web3auth_key" incase of social logins
  • `public_key` compressed public key derived based on the specified curve
| -## Verifying JWT Token (idToken) +#### Changing the Public Key Curve + +:::info + +By default, Web3Auth returns an `idToken` which contains the `public_key` in the `secp256k1` form. + +::: + +If you want to encode the public_key in `ed25519` format then you have to pass the curve parameter in OpenloginAdapter as: + +```tsx +const openloginAdapter = new OpenloginAdapter({ + loginSettings: { + curve: "ed25519", // allowed values "secp256k1" (default) or "ed25519" + }, +}); +``` + +
+ + + +```json +{ + "iat": 1661158877, + "iss": "", + "aud": "https://requesting.website", + "wallets": [ + { + "address": "0x809d4310d578649d8539e718030ee11e603ee8f3", + "type": "ethereum" + } + ], + "exp": 1661245277 +} +``` + +| Parameter | Type | Description | +| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `iat` | `number` | The "iat" (issued at) claim identifies the time at which the JWT was issued. | +| `aud` | `string` | The "audience" claim identifies the recipients that the JWT is intended for. (Here, it's `website's url`) | +| `iss` | `string` | The "issuer" claim identifies who issued the JWT.
Here, issuer could be `torus-evm`, `torus-solana`, `metamask`, `phantom`, `walletconnect-v1`, `coinbase`, `slope`, `solflare` | +| `wallets` | `array` | list of wallets for which this token is issued:
  • `address` : Wallet public address
  • `type` Network Type such as "ethereum", "solana" or "starkware" incase of external wallets
| + +
+
+ +## Utilizing the JWT for Verification + +- **JWT Validation:** The associated public key, available on a hosted website provided by Web3Auth, allows you to verify the token's authenticity and + integrity. A JWT that can be successfully verified with this public key confirms that the information it contains is trustworthy and has not been + altered. +- **Proof of Wallet Ownership:** The JWT includes a claim that certifies the user's ownership of a specific wallet's public address, enabling a + reliable method of user authentication on the server side. + +:::info JWKS endpoint + +Please note, the JWKS endpoint for External wallets **is different** from Social logins. + +- JWKS Endpoint for External Wallets: `https://authjs.web3auth.io/jwks` + +- JWKS Endpoint for Social Logins: `https://api-auth.web3auth.io/jwks` + +::: + +### Social Login Verification In order to verify the JWT Token(`idToken`) you need the compressed **app_pub_key** (derived from _**app_scoped_privkey**_) and the `idToken` obtained -from the `userInfo()` or `authenticateUser()`. +from the `authenticateUser` function. :::info -- App scoped wallet will be obtained from the frontend once the user is logged in. +- App scoped wallet will be obtained from the front-end once the user is logged in. - Public Key derivation depends on the curve (refer to the code snippets above). ::: -### Getting `app_pub_key` and `idToken` in Frontend +#### Getting `app_pub_key` and `idToken` in Frontend ```typescript // Incase of ed25519 curve, get the app_pub_key @@ -184,13 +221,15 @@ const res = await fetch("/api/verify", { }); ``` -### Verifying `idToken` in Backend +#### Verifying `idToken` in Backend :::info JWKS endpoint -Please note, the JWKS endpoint for Social logins are different from External Wallets. +Please note, the JWKS endpoint for External wallets **is different** from Social logins. + +- JWKS Endpoint for External Wallets: `https://authjs.web3auth.io/jwks` -- JWKS Endpoint: `https://api-auth.web3auth.io/jwks` +- JWKS Endpoint for Social Logins: `https://api-auth.web3auth.io/jwks` ::: @@ -207,7 +246,7 @@ const app_pub_key = req.body.appPubKey; // Get the JWK set used to sign the JWT issued by Web3Auth // highlight-next-line -const jwks = jose.createRemoteJWKSet(new URL("https://api-auth.web3auth.io/jwks")); +const jwks = jose.createRemoteJWKSet(new URL("https://api-auth.web3auth.io/jwks")); // for social logins // Verify the JWT using Web3Auth's JWKS const jwtDecoded = await jose.jwtVerify(idToken, jwks, { algorithms: ["ES256"] }); @@ -221,20 +260,67 @@ if ((jwtDecoded.payload as any).wallets[0].public_key.toLowerCase() === app_pub_ } ``` -## Changing the Public Key Curve +### External Wallet Verification -:::info +In order to verify the JWT Token(`idToken`) you need the wallet's `address` and the `idToken` obtained from the `authenticateUser()`. -By default Web3Auth returns an `idToken` which contains the `public_key` in `secp256k1` form. +#### Getting `address` and `idToken` in Frontend -::: +```typescript +// Get user's Ethereum public address +const address = (await web3.eth.getAccounts())[0]; +// Get user's Solana public address +const address = await solanaWallet.requestAccounts(); -If you want to encode the public_key in `ed25519` format then you have to pass the curve parameter in OpenloginAdapter as: +// For other chains, please refer to https://web3auth.io/docs/connect-blockchain/ -```tsx -const openloginAdapter = new OpenloginAdapter({ - loginSettings: { - curve: "ed25519", // allowed values "secp256k1" (default) or "ed25519" +/* Assuming user is logged in, get the token containtaing idToken */ +const token = await web3auth.authenticateUser(); + +// Verify idToken at your backend server +const res = await fetch("/api/verify", { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: "Bearer " + token.idToken, }, + body: JSON.stringify({ public_address: address }), }); ``` + +#### Verifying `idToken` in Backend + +:::info JWKS endpoint + +Please note, the JWKS endpoint for External wallets are different from Social logins. + +- JWKS Endpoint: `https://authjs.web3auth.io/jwks` + +::: + +```javascript +import * as jose from "jose" + +// passed from the frontend in the Authorization header +const idToken = req.headers.authorization?.split(' ')[1]; + +// passed from the frontend in the request body +const publicAddress = req.body.public_address; + +// Get the JWK set used to sign the JWT issued by Web3Auth +// highlight-next-line +const jwks = jose.createRemoteJWKSet(new URL("https://authjs.web3auth.io/jwks")); + +// Verify the JWT using Web3Auth's JWKS +const jwtDecoded = await jose.jwtVerify(idToken, jwks, { algorithms: ["ES256"] }); + +// Incase of Non-Torus Users +// Checking Wallet's `publicAddress` against the decoded JWT wallet's address +if ((jwtDecoded.payload as any).wallets[0].address.toLowerCase() === publicAddress.toLowerCase()) { + // Verified + res.status(200).json({name: 'Verification Successful'}) +} else { + res.status(400).json({name: 'Verification Failed'}) +} + +``` diff --git a/docs/features/session-management.mdx b/docs/features/session-management.mdx new file mode 100644 index 000000000..3869010ad --- /dev/null +++ b/docs/features/session-management.mdx @@ -0,0 +1,60 @@ +--- +title: Session Management +displayed_sidebar: docs +description: "Session Management | Documentation - Web3Auth" +--- + +Web3Auth SDKs offer a comprehensive session management feature designed to enhance the user experience by minimizing the need for repeated logins. +This feature ensures that once users authenticate, their login state is maintained for a specified duration, allowing for seamless interaction within +the application. + +## Benefits of Session Management + +- **Enhanced User Experience:** By reducing the frequency of logins, session management provides a more fluid and user-friendly experience within the + application. +- **Speed and Efficiency:** Session restoration is a rapid process, occurring in milliseconds, which ensures that users have immediate access to their + authenticated state. +- **Seamless Integration:** The implementation of session management is designed to be straightforward, with minimal impact on the existing user flow + and application design. + +## Detailed Overview of Session Management + +The essence of session management in Web3Auth revolves around securely maintaining a user's authenticated state using a sophisticated encryption and +storage mechanism. Here's a closer look at how this process unfolds: + +### Generating and Storing the Session Key + +1. **Session Key Generation:** Upon successful user login, a unique session key is generated on the front-end. This key plays a crucial role in + encrypting the user's login state, ensuring that it remains secure throughout its lifecycle. + +2. **Encryption of User State:** The user's login state is encrypted using the session key. This encrypted state encapsulates all necessary + information to maintain the user's session, safeguarding it against unauthorized access. + +3. **Metadata Server Storage:** The encrypted user state is then transmitted and stored on the Web3Auth metadata server. The storage duration is + determined by the `sessionTime` parameter, which developers can configure based on the application's requirements. + +### Secure Session Key Storage + +The session key is securely stored within the client's environment. For web applications, this typically involves using the browser's local storage. +Mobile applications, on the other hand, leverage platform-specific secure storage solutions like Android Encrypted Shared Preferences and iOS Keychain +Services. + +### Session Restoration Process + +1. **Retrieving the Session Key:** When the SDK is initialized, it first attempts to retrieve the session key from the client's secure storage. + +2. **Communicating with the Metadata Server:** With the session key, the SDK reaches out to the Web3Auth metadata server, requesting the restoration + of the stored user state if an active session exists. + +3. **Decrypting the User State:** If a valid session is identified, the encrypted user state is retrieved from the server and decrypted using the + session key. This decrypted state is then used to automatically log the user back into the application. + +4. **Fallback to Standard Login:** In cases where no active session is found (either because it has expired or does not exist), the user is directed + to proceed with the standard login process. + +## Customizing Session Duration + +Developers have the flexibility to define the duration of the session through the `sessionTime` parameter, setting it anywhere from 1 day to a maximum +of 7 days. This allows for a balance between convenience for the user and security considerations for the application. It is recommended to initiate +the Web3Auth SDKs at the start of your application (e.g., in the constructor) to ensure that users benefit from an uninterrupted experience, with +their login state ready and waiting as they engage with your application. diff --git a/docs/features/topup.mdx b/docs/features/topup.mdx new file mode 100644 index 000000000..d2a5fb13c --- /dev/null +++ b/docs/features/topup.mdx @@ -0,0 +1,211 @@ +--- +title: Fiat On Ramp Aggregator +displayed_sidebar: docs +description: "Fiat On Ramp Aggregator | Documentation - Web3Auth" +--- + +import { walletservices } from "@site/src/components/SDKReferenceCards"; + +The Fiat On-Ramp Aggregator, a key component of Web3Auth's Wallet Services, significantly simplifies the conversion process from fiat to +cryptocurrency. With a straightforward one-line integration, this service integrates over 100 payment methods, providing an efficient and +user-friendly solution for entering the crypto space. + +## Features of the Fiat On-Ramp Aggregator + +- **Diverse Payment Options:** Supports a broad spectrum of payment methods, catering to a global user base and ensuring accessibility for all. +- **Reduced Fees:** Offers up to 70% lower transaction fees compared to traditional methods, making cryptocurrency more accessible and economical. +- **Global Currency Support:** Ensures a seamless user experience with localized currency support, facilitating easier and more intuitive transactions + worldwide. + +## Integrating Wallet Services + +--- + +{ walletservices } + +## Overcoming Onramping Challenges + +In key web3 markets such as India, Latin America, and Southeast Asia, traditional fiat-to-crypto conversion methods, particularly through card rails +like Visa and Mastercard, face high failure rates of 30-70%. Such failures not only frustrate users but also lead to potential revenue losses. The +Fiat On-Ramp Aggregator addresses these challenges by incorporating prevalent local payment methods, which represent over 60%-70% of transactions in +these regions. + +## Why Local Payment Methods? + +- **Higher Monetization and Accessibility:** Local payment methods, being the most common in their respective countries, significantly enhance user + monetization and accessibility due to their familiarity and real-time processing capabilities. +- **Lower Processing Fees:** Transactions processed through these methods incur lower fees than those processed via traditional card networks, making + them a cost-effective alternative. +- **Improved Transaction Success Rates:** Unlike transactions on Visa and Mastercard networks, which often fail due to restrictions imposed by + card-issuing banks, local payment methods do not face such limitations, resulting in higher success rates. +- **Enhanced Security:** Most local payment methods require 2-factor authentication (2FA) and are not subject to chargeback costs, offering a secure + and cost-efficient solution for both users and merchants. + +The Fiat On-Ramp Aggregator by Web3Auth Wallet Services represents a pivotal advancement in bridging the gap between fiat currencies and the +cryptocurrency market. By leveraging local payment methods and reducing dependency on traditional card rails, Web3Auth ensures a smoother, more +reliable, and cost-effective entry point into the world of cryptocurrency, enhancing the overall user experience and fostering global adoption. + +## Coverage + +:::tip + +For the complete list of fiat, crypto and payment method coverage, please check +[here](https://docs.google.com/spreadsheets/d/1HwIDgFQ-J-ptImT9yp6MmLpZId3l1NGe9qWJJN88msY/edit#gid=0) + +::: + +### Network Coverage + +The Web3Auth Onramp Aggregator is built to be chain-agnostic and supports a wide range of blockchain networks and tokens. Below is the list of main +networks that we provide coverage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Aptos (APT)Ethereum (ETH)Near (NEAR)Arbitrum (ETH)
Fantom (FTM)Optimism (OP)Aurora (AURORA)Gnosis (xDAI, GNO)
Polkadot (DOT)Avalanche (AVAX)Hedera (HBAR)Polygon (MATIC)
Binance (BSC)Immutable X (IMX)Ripple (XRP)Bitcoin (BTC)
Kadena (KDA)Ronin (AXS)Cardano (ADA)Kava (KAVA)
Shiba Inu (SHIB)Celo (CELO)Klaytn (KLAY)Solana (SOL)
Cosmos (ATOM)Metis (METIS)Tezos (XTZ)Cronos (CRO)
Moon River (MOVR)Tron (TRX)Dogecoin (DOGE)Moonbeam (GLMR)
Velas (VLX)EOS (EOS)MultiversX (EGLD)Waves (WAVE)
WAX (WAXP)Zilliqa (ZIL)
+ +### Country and payment method coverage + +| Currency | Country | Payment Methods | +| -------- | --------------------- | --------------------------------------------------------------------------------------- | +| AED | United Arab Emirates | Credit Card, Debit Card | +| AOA | Angola | Credit Card, Debit Card | +| AUD | Australia | Credit Card, Debit Card, Apple Pay, Google Pay, Bank Transfer | +| BBD | Barbados | Credit Card, Debit Card | +| BGN | Bulgaria | Credit Card, Debit Card, Apple Pay, Google Pay | +| BMD | Bermuda | Credit Card, Debit Card | +| BND | Brunei | Credit Card, Debit Card | +| BRL | Brazil | Credit Card, Debit Card, PIX, Astro Pay, Boleto | +| BZD | Belize | Credit Card, Debit Card | +| CAD | Canada | Credit Card, Debit Card, Apple Pay, Google Pay | +| CHF | Switzerland | Credit Card, Debit Card, Apple Pay, Google Pay | +| CLP | Chile | Astro Pay, Webpay | +| CNY | China | Credit Card, Debit Card | +| COP | Colombia | Credit Card, Debit Card, PSE | +| CRC | Costa Rica | Credit Card, Debit Card | +| CZK | Czech Republic | Credit Card, Debit Card, Apple Pay, Google Pay | +| DJF | Djibouti | Credit Card, Debit Card | +| DKK | Denmark | Credit Card, Debit Card, Apple Pay, Google Pay | +| DOP | Dominican Republic | Credit Card, Debit Card | +| EGP | Egypt | Credit Card, Debit Card | +| EUR | European Union | Credit Card, Debit Card, Apple Pay, Google Pay, Bank Transfer/SEPA | +| FJD | Fiji | Credit Card, Debit Card | +| FKP | Falkland Islands | Credit Card, Debit Card | +| GBP | United Kingdom | Credit Card, Debit Card, Apple Pay, Google Pay, Bank Transfer, Open Banking | +| GEL | Georgia | Credit Card, Debit Card | +| GIP | Gibraltar | Credit Card, Debit Card | +| GTQ | Guatemala | Credit Card, Debit Card | +| HKD | Hong Kong | Credit Card, Debit Card, Google Pay | +| HNL | Honduras | Credit Card, Debit Card | +| HUF | Hungary | Credit Card, Debit Card, Apple Pay, Google Pay | +| IDR | Indonesia | Credit Card, Debit Card, Bank Transfer, Alphamart, Dana, OVO, Shopee Pay | +| ILS | Israel | Credit Card, Debit Card, Google Pay | +| INR | India | UPI, Bank Transfer, NEFT | +| ISK | Iceland | Credit Card, Debit Card, Apple Pay | +| JMD | Jamaica | Credit Card, Debit Card | +| JOD | Jordan | Credit Card, Debit Card | +| JPY | Japan | Credit Card, Debit Card, Google Pay, Bank Transfer, Tiger Pay | +| KES | Kenya | Credit Card, Debit Card | +| KGS | Kyrgyzstan | Credit Card, Debit Card | +| KMF | Comoros | Credit Card, Debit Card | +| KRW | South Korea | Credit Card, Debit Card | +| KWD | Kuwait | Credit Card, Debit Card | +| KZT | Kazakhstan | Credit Card, Debit Card, Google Pay | +| LKR | Sri Lanka | Credit Card, Debit Card | +| MAD | Morocco | Credit Card, Debit Card | +| MDL | Moldova | Credit Card, Debit Card | +| MGA | Madagascar | Credit Card, Debit Card | +| MRU | Mauritania | Credit Card, Debit Card | +| MWK | Malawi | Credit Card, Debit Card | +| MXN | Mexico | Credit Card, Debit Card, Astro Pay | +| MYR | Malaysia | Credit Card, Debit Card, Bank Transfer, FPX, Boost, Duit Now, Grab Pay, Shopee Pay, TNG | +| MZN | Mozambique | Credit Card, Debit Card | +| NGN | Nigeria | Credit Card, Debit Card, Instant P2P | +| NOK | Norway | Credit Card, Debit Card, Apple Pay, Google Pay | +| NZD | New Zealand | Credit Card, Debit Card, Apple Pay, Google Pay | +| OMR | Oman | Credit Card, Debit Card | +| PEN | Peru | Credit Card, Debit Card, Astro Pay | +| PGK | Papua New Guinea | Credit Card, Debit Card | +| PHP | Philippines | Credit Card, Debit Card, Bank Transfer, GCash, Grab Pay, Maya, Shopee Pay | +| PKR | Pakistan | Credit Card, Debit Card | +| PLN | Poland | Credit Card, Debit Card, Apple Pay, Google Pay, Open Banking | +| PYG | Paraguay | Credit Card, Debit Card | +| RON | Romania | Credit Card, Debit Card, Apple Pay, Google Pay | +| RWF | Rwanda | Credit Card, Debit Card | +| SBD | Solomon Islands | Credit Card, Debit Card | +| SCR | Seychelles | Credit Card, Debit Card | +| SEK | Sweden | Credit Card, Debit Card, Google Pay | +| SGD | Singapore | Credit Card, Debit Card, Google Pay, PayNow, ENETS | +| SRD | Suriname | Credit Card, Debit Card | +| STN | São Tomé and Príncipe | Credit Card, Debit Card | +| SZL | Eswatini | Credit Card, Debit Card | +| THB | Thailand | Credit Card, Debit Card, Prompt Pay | +| TJS | Tajikistan | Credit Card, Debit Card | +| TMT | Turkmenistan | Credit Card, Debit Card | +| TRY | Turkey | Credit Card, Debit Card | +| TWD | Taiwan | Credit Card, Debit Card, Apple Pay, Google Pay | +| TZS | Tanzania | Credit Card, Debit Card | +| USD | United States | Credit Card, Debit Card, Apple Pay, Google Pay, Bank Transfer/ACH, Cash App | +| UYU | Uruguay | Credit Card, Debit Card, Astro Pay | +| VND | Vietnam | Credit Card, Debit Card, Bank Transfer, VietQR, Momo, Viettel Pay, Zalo Pay | +| XAF | Central Africa | Credit Card, Debit Card | +| XCD | Eastern Caribbean | Credit Card, Debit Card | +| ZAR | South Africa | Credit Card, Debit Card | diff --git a/docs/features/user-management.mdx b/docs/features/user-management.mdx new file mode 100644 index 000000000..505811e25 --- /dev/null +++ b/docs/features/user-management.mdx @@ -0,0 +1,52 @@ +--- +title: User Management +displayed_sidebar: docs +description: "User Management | Documentation - Web3Auth" +--- + +Web3Auth emphasizes user privacy and data integrity, ensuring that private user data obtained through OAuth logins is not stored. Instead, this +information is relayed directly to the decentralized application (dApp), allowing developers to use it as needed. The information retained by +Web3Auth's nodes are strictly limited to what developers specify on the Web3Auth dashboard, aligning with Web3Auth's commitment to user privacy and +developer autonomy. + +## Developer Dashboard: A Comprehensive Tool + +The Web3Auth Developer Dashboard is a powerful tool designed to provide developers with a complete overview of their Web3Auth integration. It +encapsulates a wide range of functionalities and insights, making it an essential component for effective user management and application development. + +:::tip + +Learn how to set up the [Web3Auth Dashboard](/docs/dashboard-setup). + +::: + +### Key Features of the Web3Auth Dashboard: + +- **Project Overview:** Gain insights into your projects, including setup details, configurations, and active verifiers. +- **Verifier Management:** Manage your OAuth verifiers, ensuring seamless integration with various authentication providers. +- **Billing Information:** Access billing details, enabling clear visibility into usage costs and plan subscriptions. +- **Team Management:** Configure your development team, facilitating easier collaboration and project management. + +## Enhancing Collaboration and Development + +Collaboration is pivotal in the development of successful applications. The Web3Auth Dashboard fosters a collaborative environment by allowing +developers to: + +- **Track Application Usage:** Monitor Monthly Active Wallet Usage (MAWs) and total SMS login usage, providing a clear understanding of how users + interact with your application. +- **Manage Billing and Usage:** Receive detailed reports on plan usage, with accurate billing information provided at the end of each month. +- **Improve with Insights:** Utilize the dashboard's analytics and reporting features to refine your application, based on actual usage data and user + interaction patterns. + +## Custom User Management + +As a valuable extension of Web3Auth's user management capabilities, the `getUserInfo` provides access to the user data fetched from the idToken, +including the public address/ public key of the user, email addresses (where available), and other information shared during the OAuth process or +wallet connection. This enables developers to: + +- **Implement Custom Tracking:** Tailor your application’s tracking mechanisms to monitor user interactions, behaviors, and preferences more + effectively. +- **Personalize the User Experience:** Use the detailed user data to customize and improve the overall user experience, from UI/UX adjustments to + personalized content and notifications. +- **Refine User Segmentation:** Enhance your marketing and communication strategies by leveraging user information to segment your audience accurately + and deliver targeted messages. diff --git a/docs/features/wallet-aggregation.mdx b/docs/features/wallet-aggregation.mdx new file mode 100644 index 000000000..e66901e33 --- /dev/null +++ b/docs/features/wallet-aggregation.mdx @@ -0,0 +1,86 @@ +--- +title: Wallet Aggregation +image: "images/docs-meta-cards/documentation-card.png" +displayed_sidebar: docs +description: "Wallet Aggregation | Documentation - Web3Auth" +--- + +Web3Auth's modular structure for its Plug and Play SDKs includes the capability for multiple external wallet connections within the modal, +facilitating seamless onboarding for both crypto-native and non-crypto-native users. This feature underscores Web3Auth's dedication to supporting all +required authentication flows through a simple integration process. + +## Key Features of Wallet Aggregation + +Web3Auth's wallet aggregation is made possible through the use of adapters, which are essentially connectors allowing for direct communication between +Web3Auth and various external wallet providers, such as MetaMask, WalletConnect, Coinbase, and more. + +:::note + +This feature is currently available for Web SDKs only. Mobile and Gaming SDK adapters are in development. + +::: + +:::info Integrate the wallet of your choice + +Currently, Web3Auth supports the following wallets, please go to their respective SDK References to integrate them into your project: + +- [Torus EVM Wallet](/sdk/pnp/web/adapters/torus-evm) +- [Torus Solana Wallet](/sdk/pnp/web/adapters/torus-solana) +- [MetaMask](/sdk/pnp/web/adapters/metamask) +- [Phantom Wallet](/sdk/pnp/web/adapters/phantom) +- [WalletConnect V1](/sdk/pnp/web/adapters/wallet-connect-v1) +- [Coinbase Wallet](/sdk/pnp/web/adapters/coinbase) +- [Slope Wallet](/sdk/pnp/web/adapters/slope) +- [Solflare Wallet](/sdk/pnp/web/adapters/solflare) + +::: + +## Understanding Adapters + +Adapters are essentially connectors between Web3Auth and the underlying wallet provider. For example, an adapter for connecting with the torus wallet +is available under web3auth as [@web3auth/torus-evm-adapter](/sdk/pnp/web/adapters/torus-evm). Every adapter follows a common interface which is +required by Web3Auth to communicate with the wallet. + +An adapter emits certain events like `CONNECTED`, `CONNECTING`, and `DISCONNECTED` etc during the login lifecycle of a user. Each adapter exposes the +provider on successful user login that can be used to invoke RPC calls on the wallet and connected blockchain. + +### Currently Available Wallet Adapters + +By default, Web3Auth's modal UI supports a set of default adapters depending on the `authMode` being used. By default, Web3Auth requires basic +configuration `client_id`, and registering a redirect if you are using a CustomAuth adapter from the dashboard. + +The table below summarizes all the available adapters and their properties + +| Adapter | AuthMode | ChainNamespace | Default | Package Name | +| ------------------ | ---------------- | ----------------- | ------- | -------------------------------------------------------------------------------- | +| `openlogin` | `WALLET`, `DAPP` | `EIP155`,`SOLANA` | `YES` | [`@web3auth/openlogin-adapter`](/sdk/pnp/web/adapters/openlogin) | +| `torus-evm` | `DAPP` | `EIP155` | `YES` | [`@web3auth/torus-evm-adapter`](/sdk/pnp/web/adapters/torus-evm) | +| `torus-solana` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/torus-solana-adapter`](/sdk/pnp/web/adapters/torus-solana) | +| `metamask` | `DAPP` | `EIP155` | `YES` | [`@web3auth/metamask-adapter`](/sdk/pnp/web/adapters/metamask) | +| `phantom` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/phantom-adapter`](/sdk/pnp/web/adapters/phantom) | +| `walletconnect-v1` | `DAPP` | `EIP155` | `YES` | [`@web3auth/wallet-connect-v1-adapter`](/sdk/pnp/web/adapters/wallet-connect-v1) | +| `coinbase` | `DAPP` | `EIP155` | `YES` | [`@web3auth/coinbase`](/sdk/pnp/web/adapters/coinbase) | +| `slope` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/slope`](/sdk/pnp/web/adapters/slope) | +| `solflare` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/solflare`](/sdk/pnp/web/adapters/solflare) | + +## Extending Wallet Aggregation + +In addition to Web3Auth's native adapters, developers can also leverage Web3Auth with other wallet aggregation libraries such as `wagmi`. This +integration enables the use of Web3Auth within popular frameworks and products, enhancing the flexibility and reach of Web3Auth's authentication +capabilities. + +### Integrating with Wagmi + +Web3Auth's compatibility with wagmi, via the @web3auth/web3auth-wagmi-connector, allows for seamless integration of Web3Auth's features within wagmi's +comprehensive React Hooks for Ethereum. This connector supports both modal and no-modal packages of Web3Auth, enabling integration within products +like Rainbow Kit, Connect Kit, and Web3Modal. + +By embracing wallet aggregation with Web3Auth, developers can offer their users a versatile and inclusive authentication experience, supporting a +variety of wallets and enhancing the overall usability of Web3 applications. + +:::tip + +For more information on integrating wagmi with Web3Auth, please refer to the +[Web3Auth Wagmi Connector SDK Reference](/docs/sdk/pnp/web/wagmi-connector). + +::: diff --git a/docs/features/wallet-pregeneration.mdx b/docs/features/wallet-pregeneration.mdx new file mode 100644 index 000000000..5e123e2b2 --- /dev/null +++ b/docs/features/wallet-pregeneration.mdx @@ -0,0 +1,46 @@ +--- +title: Wallet Pregeneration +displayed_sidebar: docs +description: "Wallet Pregeneration | Documentation - Web3Auth" +--- + +import PregenerateWallet from "@site/src/components/PregenerateWallet"; + +Pre-generated wallets are a strategic feature within Web3Auth, designed to streamline the onboarding process by allowing developers to create wallet +addresses for users before their initial login. This feature offers flexibility in how and when you introduce users to wallet functionalities, +enhancing the user experience and engagement. + +## Capabilities of Pre-generated Wallets + +The ability to pre-generate wallets opens up a variety of use cases, making it easier to integrate Web3 features into your application's user journey: + +- **Early Wallet Creation:** Initiate wallet creation as part of the user invite or onboarding flow, even before the user has logged into your app for + the first time. +- **Deferred Login Setup:** Delay the setup of wallet access management, such as OAuth login or passkeys, until the user is ready for their first + on-chain transaction, simplifying initial engagement. +- **Wallet Prefunding:** Reward users with tokens for off-chain activities, allowing them to claim these rewards when they access their pre-generated + wallet. + +## Utilizing the Pre-generated Wallet API + +Web3Auth provides a straightforward API to facilitate the creation of pre-generated wallets. You can integrate this API into your user signup flow, +either after a user verifies their email or independently by supplying their email or unique identifier to the API. + +:::warning + +This API only returns the Core Kit Key wallet addresses. To use the wallet addresses with the Web3Auth SDKs, you will need to either use the +`useCoreKitKey` flag in our PnP SDKs or use any of our Core Kit SFA SDKs + +Learn more about how [keys can change within different Web3Auth Products](/docs/troubleshooting/different-private-key#product) + +::: + +### Implementation Steps: + +1. **Identify Users:** Determine the unique identifier or email for the user within your system. This will be the `verifierId` used to create the + wallet. +2. **API Call:** Use the provided API to submit the user's identifier. You'll need to specify parameters from the Web3Auth dashboard, specifically the + Verifier Name, Web3Auth Network, and Client Id. +3. **Receive Wallet Address:** The API response will include the new wallet address, ready for use by the user upon their first login. + + diff --git a/docs/features/wallet-ui.mdx b/docs/features/wallet-ui.mdx new file mode 100644 index 000000000..22a8851e3 --- /dev/null +++ b/docs/features/wallet-ui.mdx @@ -0,0 +1,36 @@ +--- +title: Embedded Wallet UI +displayed_sidebar: docs +description: "Embedded Wallet UI | Documentation - Web3Auth" +--- + +import { walletservices } from "@site/src/components/SDKReferenceCards"; + +The Embedded Wallet UI is a feature of the Wallet Services product by Web3Auth, designed to provide a seamless and integrated wallet experience within +your application. This service encompasses a wide range of wallet functionalities, from displaying balance and wallet status to showcasing tokens/NFTs +and facilitating transaction management, all within a single, coherent interface. + +## Enhancing User Experience with Embedded Wallet UI + +Web3Auth's Embedded Wallet UI service is engineered to blend effortlessly into your application, ensuring users have access to a comprehensive wallet +experience without navigating away from your app. Here are the key benefits: + +### Key Benefits + +- **Seamless Integration:** The Embedded Wallet UI is designed to be effortlessly integrated into your application, providing a smooth and consistent + user experience that feels native to your platform. + +- **Comprehensive Management:** This service supports a wide array of wallet management features, including balance checks, viewing transaction + histories, and displaying digital assets, ensuring users have full control over their wallets within your application. + +- **No Additional UI Development:** By offering a ready-to-use wallet interface, Web3Auth significantly reduces the development workload, freeing up + resources to focus on other aspects of your application. + +- **Customizable:** Despite being a pre-designed solution, the Embedded Wallet UI can be customized to align with your application's branding and + design preferences, ensuring a seamless visual and functional integration. + +## Integrating Wallet Services + +--- + +{ walletservices } diff --git a/docs/features/whitelabel.mdx b/docs/features/whitelabel.mdx new file mode 100644 index 000000000..91dbc9f83 --- /dev/null +++ b/docs/features/whitelabel.mdx @@ -0,0 +1,70 @@ +--- +title: Whitelabeling Web3Auth +sidebar_label: Whitelabel +displayed_sidebar: docs +description: "Whitelabeling Web3Auth | Documentation - Web3Auth" +image: "images/docs-meta-cards/documentation-card.png" +--- + +Whitelabeling is a pivotal feature of Web3Auth that empowers developers to offer a seamless and cohesive user experience across their applications. +Through customization of the user interface, branding, and translations, Web3Auth's whitelabeling capabilities ensure that every aspect of the +authentication flow aligns with your application's identity. + +#### Steps for Customization + +1. **Choose Your SDK:** Decide between Plug and Play or Core Kit SDKs based on your needs for customization and control. +2. **Define Your Branding:** Customize the elements of the SDKs, such as modals, screens, and logos, to align with your branding guidelines. +3. **Apply Translations:** Tailor the language and translations within the authentication flow to cater to your target audience. + +## Plug and Play SDKs Whitelabeling + +Web3Auth's Plug and Play SDKs provide extensive whitelabeling capabilities, allowing for a deep level of customization to ensure the user interface, +branding, and translations perfectly match your application's needs. These SDKs support detailed customization, offering a seamless and cohesive user +experience. + +- **Seamless Integration:** Effortlessly embed Web3Auth's authentication modal within your application, ensuring a unified user experience that aligns + with your brand identity. Customize every aspect, from the modal appearance to the user flow, including MFA screens, to maintain consistency across + all user interactions. + +- **Comprehensive Management:** With Web3Auth's whitelabeling options, you gain full control over the authentication experience, ensuring it is not + only branded but also intuitive for users. This approach minimizes the need for additional UI development and aligns closely with your application's + design principles. + +- **Customizable to Your Brand:** Tailor the Embedded Wallet UI to perfectly fit your application's aesthetics, reinforcing your brand with every user + interaction. Web3Auth allows for detailed branding customization, ensuring the wallet experience feels like an integral part of your app. + +### Customization Examples + +- **Login Modal Customization:** Adapt the login modal's design to reflect your application's branding, from colors and logos to fonts and button + styles. + + ![Web3Auth Plug and Play Login Modal](/images/whitelabel/modal/whitelable-login-modal.gif) + +- **User Flow and MFA Screen Transition:** Provide a consistent and engaging experience throughout the user authentication process, including the + transition between different authentication stages and support for both light and dark modes. + + ![Web3Auth - User Flow Screens](/images/whitelabel/user-flow-screens.gif) + +## Core Kit SDKs Whitelabeling + +- **Complete Control:** The Core Kit SDKs go a step further by providing total invisibility of Web3Auth's underlying mechanisms. Developers have the + freedom to design their authentication pages and flows, offering unparalleled customization. +- **No Redirection:** Distinguishing itself from the Plug and Play model, the Core Kit eliminates the need for user redirection to `auth.web3auth.io` + for authentication, ensuring all processes are kept within your application's ecosystem. + +## Wallet Services Whitelabeling + +- **Comprehensive Customization:** For Wallet Services, whitelabeling extends to modifying the entire user interface, including logos, color schemes, + and visibility of specific sections, ensuring a branded experience throughout. +- **Application Identity:** Tailor the appearance of wallet service components, such as chain logos and the dApp logo, to reinforce your application's + brand identity across all user interactions. + +## Language Customization and Localization (l10n) + +A significant aspect of Web3Auth's whitelabeling capabilities is its support for multiple languages, enhancing accessibility and user engagement +across diverse demographics. + +- **Multiple Languages Support:** Web3Auth supports localization for a variety of languages including English (en), Spanish (es), German (de), Chinese + (zh), Japanese (ja), Korean (ko), French (fr), Portuguese (pt), and Dutch (nl). +- **Open Source Contributions:** The Web3Auth locales are maintained in an open-source repository, inviting contributions from the community to add or + refine language support. [Contribute to Web3Auth Locales](https://github.com/Web3Auth/web3auth-locales). diff --git a/docs/pnp/features/whitelabel/login-modal.mdx b/docs/features/whitelabelasdf/login-modal.mdx similarity index 100% rename from docs/pnp/features/whitelabel/login-modal.mdx rename to docs/features/whitelabelasdf/login-modal.mdx diff --git a/docs/pnp/features/whitelabel/user-flow-screens.mdx b/docs/features/whitelabelasdf/user-flow-screens.mdx similarity index 100% rename from docs/pnp/features/whitelabel/user-flow-screens.mdx rename to docs/features/whitelabelasdf/user-flow-screens.mdx diff --git a/docs/going-live.mdx b/docs/going-live.mdx new file mode 100644 index 000000000..4ce3bacdf --- /dev/null +++ b/docs/going-live.mdx @@ -0,0 +1,178 @@ +--- +title: Going Live with Web3Auth Plug and Play +sidebar_label: Going Live Checklist +displayed_sidebar: docs +description: "Going Live with Plug and Play Web3Auth | Documentation - Web3Auth" +--- + +Before going live with Web3Auth Plug and Play SDKs, please make sure you have completed the +following steps: + +### 1. Create a Web3Auth Production Client ID + +Make sure your client id for Web3Auth is on the Sapphire Mainnet Network. The Sapphire Mainnet is +our geo-distributed, horizontally scalable network. If you have certain specific requirements for +the network configurations for scalability, please reach out to us at our +[Community Portal](https://community.web3auth.io). + +:::info + +You need to create a Sapphire Devnet client id for the same name before creating a production client +id. This is to ensure that your testing and production environments are separate and the wallets +generated for the end users remain safe. + +::: + +:::warning + +Make sure your Web3Auth Network in the SDK initialization is the **same** as your client id network, +otherwise you find see errors while logging your users in. + +::: + +### 2. Create a Web3Auth Production Verifier + +While using the [Custom Authentication Feature](/features/custom-authentication) in the Plug and +Play SDKs, you will need to create a verifier. Make sure the network of the verifier is the same as +the network of the client id. + +:::warning + +All new verifiers produce **different wallets/ accounts** for users, it is not possible to rename a +verifier once you have created it. The person who has created the verifier can only edit it +afterwards. This is a limitation even when you have a team setup. This is because a verifier is a +smart contract and the address editing it cannot be changed. The only way to change this is to +create a new verifier. + +::: + +### 3. Update your Web3Auth SDKs to the latest version + +We are constantly updating our SDKs to make sure they are secure and performant. Make sure you are +using the latest version of the SDKs. Please do not actively use the pre release versions, rather +wait for the latest stable release. + +### 4. Use a production RPC Endpoint for your respective blockchains + +For testing purposes, our examples and SDKs use public RPC endpoints. Make sure you are using a +production RPC endpoint (by providers like Infura, Quicknode, Alchemy etc.) for your production +environment before going live. This can be done by updating the +[`rpcTarget`](/sdk/pnp/web/modal/initialize#chainconfig) value in the `Web3Auth` object in the SDK +initialisation in Web SDKs and updating the provider URL in mobile SDKs. + +### 5. Audit the UX for your Web3Auth Login flow + +From the icon showing up in the Web3Auth Modal to the [whitelabel setting](/features/whitelabel) for +the intermediary pages that are shown to the user, make sure you have checked your branding and +customisations. Checking all the possible flows is recommended. + +### 6. Check your interoperability flow + +If you're using +[WalletConnect or Web3Auth Wallet Services based interoperability flow](/features/interoperability), +make sure you have tested the flow before going live. + +### 7. Check in multiple browsers and devices + +The Web3Auth SDKs are built to work in all +[major browsers and devices](/troubleshooting/supported-browsers). Make sure you have tested your +login flow in all major browsers and devices. If you're facing any issues with any particular +browser or device, please make sure they're compatible with the Web3Auth SDKs. + +### 8. Upgrade your Web3Auth Plan + +Finally, make sure you're on the correct [Web3Auth Plan](https://web3auth.io/pricing.html) according +to the features you're looking to use in the production environment. Additionally make sure to add a +credit card in the Web3Auth Dashboard so that your services are not stopped once the MAW cap has +reached. + +Before going live with Web3Auth Core Kit SDKs, please make sure you have completed the following +steps: + +### 1. Create a Web3Auth Production Client ID + +Make sure your client id for Web3Auth is on the Sapphire Mainnet Network. The Sapphire Mainnet is +our geo-distributed, horizontally scalable network. If you have certain specific requirements for +the network configurations for scalability, please reach out to us at our +[Community Portal](https://community.web3auth.io). + +:::info + +You need to create a Sapphire Devnet client id for the same name before creating a production client +id. This is to ensure that your testing and production environments are separate and the wallets +generated for the end users remain safe. + +::: + +:::warning + +All networks produce **different wallets/ accounts** for users, it is not possible to switch +networks once you have created a client id. + +::: + +### 2. Create a Web3Auth Production Verifier + +It is mandatory to create a verifier, while using Web3Auth Core Kit. Make sure the network of the +verifier is the same as the network of the client id. + +:::warning + +All new verifiers produce **different wallets/ accounts** for users, it is not possible to rename a +verifier once you have created it. + +::: + +### 3. Update your Web3Auth SDKs to the latest version + +We are constantly updating our SDKs to make sure they are secure and performant. Make sure you are +using the latest version of the SDKs. Please do not actively use the pre release versions, rather +wait for the latest stable release. + +### 4. Use a production RPC Endpoint for your respective blockchains + +For testing purposes, our examples and SDKs use public RPC endpoints. Make sure you are using a +production RPC endpoint (by providers like Infura, Quicknode, Alchemy etc.) for your production +environment before going live. This can be done by updating the provider URL in SDKs added for +blockchain calls. + +### 5. Audit the UX for your Web3Auth Login flow + +One of the major features of Web3Auth Core Kit is that you have full control of the UX end to end. +Web3Auth itself is totally invisible. However, this can come up with risks of losing wallets if the +flow is not audited properly. Make sure you have audited the UX for your login flow before going +live. Test every possible user interaction with your app and the login flow and Web3Auth calls. + +:::warning + +If you're using Manual Metadata Sync, make sure your data is properly being synced when the user +setups up new shares and makes any changes in their existing shares. + +::: + +### 6. Check your interoperability flow + +If you've added [Web3Auth PNP plugins into your Core Kit Flow](/features/interoperability) for +interoperability, make sure you have tested the flow before going live. + +### 7. Check in multiple browsers and devices + +The Web3Auth SDKs are built to work in all +[major browsers and devices](/troubleshooting/supported-browsers). Make sure you have tested your +login flow in all major browsers and devices. If you're facing any issues with any particular +browser or device, please make sure they're compatible with the Web3Auth SDKs. + +### 8. Upgrade your Web3Auth Plan + +Finally, make sure you're on the correct [Web3Auth Plan](https://web3auth.io/pricing.html) according +to the features you're looking to use in the production environment. Additionally make sure to add a +credit card in the Web3Auth Dashboard so that your services are not stopped once the MAW cap has +reached. + +:::info + +While using Core Kit, we recommend you to either on the +[Scale or Enterprise Plan](https://web3auth.io/pricing.html) of Web3Auth so that we can help you +audit and optimize your login flow for max performance and avoid the loss of any wallets. + +::: diff --git a/docs/how-web3auth-works.mdx b/docs/how-web3auth-works.mdx index 5597ff572..8a2798364 100644 --- a/docs/how-web3auth-works.mdx +++ b/docs/how-web3auth-works.mdx @@ -32,14 +32,14 @@ products Web3Auth offers, to enable a developer-friendly integration of this inf A Web3Auth Plug and Play integration process is designed to be developer-friendly, requiring only the initialization of the Web3Auth SDKs and the set up of necessary configurations. Once integrated into your application, the SDK facilitates the embedding of the login function. This allows developers -to utilize the SDK to authenticate users by invoking the connect function, that can be activated via a login button or any user-triggered event. +to utilize the SDK to authenticate users by invoking the connect function, which can be activated via a login button or any user-triggered event. Once the user starts the process: -1. User is redirected to our portal (`app.openlogin.com`) -2. Our portal, `app.openlogin.com`, then handles the initial process of login -3. User is redirected to the login/OAuth provider and carries out the authentication process concerning their auth provider -4. User is redirected back to our portal, which then handles the reconstruction of the user’s key +1. User is redirected to our portal (`auth.web3auth.io`) +2. Our portal, `auth.web3auth.io`, then handles the initial process of login +3. The user is redirected to the login/OAuth provider and carries out the authentication process concerning their auth provider +4. The user is redirected back to our portal, which then handles the reconstruction of the user’s key 5. Finally, once the user is successfully authenticated, they are redirected back to the application, with a derived key specific to the application/wallet @@ -102,7 +102,7 @@ claim full ownership. :::tip managing wallets For managing wallets, our infrastructure uses various cryptographic techniques such as Shamir's Secret Sharing, Threshold Cryptography, and Multi -Party Computation. To know more about how we manage wallets, please refer to our +Party Computation. To learn more about how we manage wallets, please refer to our [Wallet Management and Security of our Infrastructure](/infrastructure/). ::: diff --git a/docs/infrastructure/glossary.mdx b/docs/infrastructure/glossary.mdx index 0aad9a2e2..22622f31a 100644 --- a/docs/infrastructure/glossary.mdx +++ b/docs/infrastructure/glossary.mdx @@ -1,7 +1,7 @@ --- title: Important Terms and Definitions sidebar_label: Glossary -displayed_sidebar: docs +displayed_sidebar: resources description: "Important Terms and Definitions - Web3Auth Wallet Management Infrastructure | Documentation - Web3Auth" --- diff --git a/docs/infrastructure/infrastructure.mdx b/docs/infrastructure/infrastructure.mdx index ae0db5434..385588bf9 100644 --- a/docs/infrastructure/infrastructure.mdx +++ b/docs/infrastructure/infrastructure.mdx @@ -1,6 +1,7 @@ --- title: Web3Auth Wallet Management Infrastructure -displayed_sidebar: docs +sidebar_label: Overview +displayed_sidebar: resources description: "Web3Auth Wallet Management Infrastructure | Documentation - Web3Auth" --- diff --git a/docs/infrastructure/mpc-architecture.mdx b/docs/infrastructure/mpc-architecture.mdx index 1981f15a8..b6dffd0cf 100644 --- a/docs/infrastructure/mpc-architecture.mdx +++ b/docs/infrastructure/mpc-architecture.mdx @@ -1,7 +1,7 @@ --- title: Web3Auth MPC Architecture sidebar_label: MPC Architecture -displayed_sidebar: docs +displayed_sidebar: resources description: "MPC Architecture - Web3Auth Wallet Infrastructure | Documentation - Web3Auth" --- diff --git a/docs/infrastructure/nodes-and-dkg.mdx b/docs/infrastructure/nodes-and-dkg.mdx index f2097977d..0b2b3de02 100644 --- a/docs/infrastructure/nodes-and-dkg.mdx +++ b/docs/infrastructure/nodes-and-dkg.mdx @@ -1,6 +1,6 @@ --- title: Nodes and DKG -displayed_sidebar: docs +displayed_sidebar: resources description: "DKG Nodes in Wallet Management | Documentation - Web3Auth" --- diff --git a/docs/infrastructure/sss-architecture.mdx b/docs/infrastructure/sss-architecture.mdx index 9b8bfeb5b..340a8ba22 100644 --- a/docs/infrastructure/sss-architecture.mdx +++ b/docs/infrastructure/sss-architecture.mdx @@ -1,7 +1,7 @@ --- title: Web3Auth Shamir Secret Sharing Architecture sidebar_label: SSS Architecture -displayed_sidebar: docs +displayed_sidebar: resources description: "SSS Architecture - Web3Auth Wallet Infrastructure | Documentation - Web3Auth" --- diff --git a/docs/legal/privacy-policy.mdx b/docs/legal/privacy-policy.mdx index 8a219b82d..578c0a4ad 100644 --- a/docs/legal/privacy-policy.mdx +++ b/docs/legal/privacy-policy.mdx @@ -5,9 +5,9 @@ description: "Privacy Policy | Documentation - Web3Auth" Latest update: 2 June 2023 -This privacy policy is applicable to Web3Auth's Products (https://app.openlogin.com), Torus wallet (https://app.tor.us). This privacy policy -explicitly excludes business and developer interactions including the website (https://dashboard.web3auth.io). The policy does extend to -Web3Auth/Torus's interactions with clients that integrate its SDK, but does not include what data our clients manage and collect themselves. +This privacy policy is applicable to Web3Auth's Products (https://auth.web3auth.io), Torus wallet (https://app.tor.us). This privacy policy explicitly +excludes business and developer interactions including the website (https://dashboard.web3auth.io). The policy does extend to Web3Auth/Torus's +interactions with clients that integrate its SDK, but does not include what data our clients manage and collect themselves. ## Owner and Data Controller diff --git a/docs/pnp/migration-guides/android-v4-to-v5.mdx b/docs/migration-guides/android-v4-to-v5.mdx similarity index 99% rename from docs/pnp/migration-guides/android-v4-to-v5.mdx rename to docs/migration-guides/android-v4-to-v5.mdx index 12e637103..29ee5ff47 100644 --- a/docs/pnp/migration-guides/android-v4-to-v5.mdx +++ b/docs/migration-guides/android-v4-to-v5.mdx @@ -1,6 +1,6 @@ --- title: PnP Android SDK - v4 to v5 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP Android SDK - v4 to v5 | Documentation - Web3Auth" sidebar_label: v4 to v5 --- diff --git a/docs/pnp/migration-guides/ios-v6-to-v7.mdx b/docs/migration-guides/ios-v6-to-v7.mdx similarity index 99% rename from docs/pnp/migration-guides/ios-v6-to-v7.mdx rename to docs/migration-guides/ios-v6-to-v7.mdx index 9ce4f7ac0..e13561950 100644 --- a/docs/pnp/migration-guides/ios-v6-to-v7.mdx +++ b/docs/migration-guides/ios-v6-to-v7.mdx @@ -1,6 +1,6 @@ --- title: PnP IOS SDK - v6 to v7 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP IOS SDK - v6 to v7 | Documentation - Web3Auth" sidebar_label: v6 to v7 --- diff --git a/docs/pnp/migration-guides/modal-v5-to-v6.mdx b/docs/migration-guides/modal-v5-to-v6.mdx similarity index 98% rename from docs/pnp/migration-guides/modal-v5-to-v6.mdx rename to docs/migration-guides/modal-v5-to-v6.mdx index e0c59e514..6a5be9bc6 100644 --- a/docs/pnp/migration-guides/modal-v5-to-v6.mdx +++ b/docs/migration-guides/modal-v5-to-v6.mdx @@ -1,6 +1,6 @@ --- title: PnP Modal SDK - v5 to v6 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP Modal SDK - v5 to v6 | Documentation - Web3Auth" sidebar_label: v5 to v6 --- diff --git a/docs/pnp/migration-guides/modal-v6-to-v7.mdx b/docs/migration-guides/modal-v6-to-v7.mdx similarity index 99% rename from docs/pnp/migration-guides/modal-v6-to-v7.mdx rename to docs/migration-guides/modal-v6-to-v7.mdx index 378ca8ae5..f110803b3 100644 --- a/docs/pnp/migration-guides/modal-v6-to-v7.mdx +++ b/docs/migration-guides/modal-v6-to-v7.mdx @@ -1,6 +1,6 @@ --- title: PnP Modal SDK - v6 to v7 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP Modal SDK - v6 to v7 | Documentation - Web3Auth" sidebar_label: v6 to v7 --- diff --git a/docs/pnp/migration-guides/modal-v7-to-v8.mdx b/docs/migration-guides/modal-v7-to-v8.mdx similarity index 99% rename from docs/pnp/migration-guides/modal-v7-to-v8.mdx rename to docs/migration-guides/modal-v7-to-v8.mdx index 6e95767eb..171a522a1 100644 --- a/docs/pnp/migration-guides/modal-v7-to-v8.mdx +++ b/docs/migration-guides/modal-v7-to-v8.mdx @@ -1,6 +1,6 @@ --- title: PnP Modal SDK - v7 to v8 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP Modal SDK - v7 to v8 | Documentation - Web3Auth" sidebar_label: v7 to v8 --- diff --git a/docs/pnp/migration-guides/no-modal-v5-to-v6.mdx b/docs/migration-guides/no-modal-v5-to-v6.mdx similarity index 99% rename from docs/pnp/migration-guides/no-modal-v5-to-v6.mdx rename to docs/migration-guides/no-modal-v5-to-v6.mdx index e62818362..f2337a781 100644 --- a/docs/pnp/migration-guides/no-modal-v5-to-v6.mdx +++ b/docs/migration-guides/no-modal-v5-to-v6.mdx @@ -1,6 +1,6 @@ --- title: PnP No Modal SDK - v5 to v6 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP No Modal SDK - v5 to v6 | Documentation - Web3Auth" sidebar_label: v5 to v6 --- diff --git a/docs/pnp/migration-guides/no-modal-v6-to-v7.mdx b/docs/migration-guides/no-modal-v6-to-v7.mdx similarity index 99% rename from docs/pnp/migration-guides/no-modal-v6-to-v7.mdx rename to docs/migration-guides/no-modal-v6-to-v7.mdx index a8030e385..bd15885e9 100644 --- a/docs/pnp/migration-guides/no-modal-v6-to-v7.mdx +++ b/docs/migration-guides/no-modal-v6-to-v7.mdx @@ -1,6 +1,6 @@ --- title: PnP No Modal SDK - v6 to v7 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP No Modal SDK - v6 to v7 | Documentation - Web3Auth" sidebar_label: v6 to v7 --- diff --git a/docs/pnp/migration-guides/no-modal-v7-to-v8.mdx b/docs/migration-guides/no-modal-v7-to-v8.mdx similarity index 99% rename from docs/pnp/migration-guides/no-modal-v7-to-v8.mdx rename to docs/migration-guides/no-modal-v7-to-v8.mdx index 8245779af..c07e6f0d4 100644 --- a/docs/pnp/migration-guides/no-modal-v7-to-v8.mdx +++ b/docs/migration-guides/no-modal-v7-to-v8.mdx @@ -1,6 +1,6 @@ --- title: PnP No Modal SDK - v7 to v8 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP No Modal SDK - v6 to v7 | Documentation - Web3Auth" sidebar_label: v7 to v8 --- diff --git a/docs/pnp/migration-guides/rn-v3-to-v4.mdx b/docs/migration-guides/rn-v3-to-v4.mdx similarity index 99% rename from docs/pnp/migration-guides/rn-v3-to-v4.mdx rename to docs/migration-guides/rn-v3-to-v4.mdx index c873c6db7..a44e03ada 100644 --- a/docs/pnp/migration-guides/rn-v3-to-v4.mdx +++ b/docs/migration-guides/rn-v3-to-v4.mdx @@ -1,6 +1,6 @@ --- title: PnP React Native - v3 to v4 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP React Native SDK - v3 to v4 | Documentation - Web3Auth" --- diff --git a/docs/pnp/migration-guides/rn-v4-to-v5.mdx b/docs/migration-guides/rn-v4-to-v5.mdx similarity index 99% rename from docs/pnp/migration-guides/rn-v4-to-v5.mdx rename to docs/migration-guides/rn-v4-to-v5.mdx index 0419fd0c4..d8b5298a3 100644 --- a/docs/pnp/migration-guides/rn-v4-to-v5.mdx +++ b/docs/migration-guides/rn-v4-to-v5.mdx @@ -1,6 +1,6 @@ --- title: PnP React Native - v4 to v5 -displayed_sidebar: docs +displayed_sidebar: sdk description: "PnP React Native SDK - v4 to v5 | Documentation - Web3Auth" --- diff --git a/docs/core-kit/migration-guides/sfa-flutter-v1-to-v2.mdx b/docs/migration-guides/sfa-flutter-v1-to-v2.mdx similarity index 87% rename from docs/core-kit/migration-guides/sfa-flutter-v1-to-v2.mdx rename to docs/migration-guides/sfa-flutter-v1-to-v2.mdx index 1e0eb13c6..fe237e54d 100644 --- a/docs/core-kit/migration-guides/sfa-flutter-v1-to-v2.mdx +++ b/docs/migration-guides/sfa-flutter-v1-to-v2.mdx @@ -1,6 +1,6 @@ --- title: SFA Flutter SDK - v1 to v2 -displayed_sidebar: docs +displayed_sidebar: sdk description: "SFA Flutter SDK - v1 to v2 | Documentation - Web3Auth" sidebar_label: v1 to v2 --- @@ -9,8 +9,8 @@ sidebar_label: v1 to v2 ## Overview -This migration guide provides steps for upgrading from version v1 to v2 of the Web3Auth No Modal SDK. The guide outlines breaking changes -in the return type of the methods of `SingleFactAuthFlutter` class. +This migration guide provides steps for upgrading from version v1 to v2 of the Web3Auth No Modal SDK. The guide outlines breaking changes in the +return type of the methods of `SingleFactAuthFlutter` class. ## Changes in Detail @@ -20,8 +20,8 @@ In v2, we try to improve the developer experience by changing the return type fo #### `initialize` method -In v2, the `initialize` method will return the `Future` instead of `Future`. The method will return -`null` if the user doesn't have any active session present. +In v2, the `initialize` method will return the `Future` instead of `Future`. The method will return `null` if the user doesn't have +any active session present. ```dart final TorusKey? torusKey = await _singleFactorAuthFlutterPlugin.initialize(); diff --git a/docs/pnp/features/connect-external-wallets.mdx b/docs/pnp/features/connect-external-wallets.mdx deleted file mode 100644 index 554f7ea12..000000000 --- a/docs/pnp/features/connect-external-wallets.mdx +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: Connect External Wallets -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Connect External Wallets | Documentation - Web3Auth" ---- - -One of the most interesting capabilities of Web3Auth includes the ability to directly connect to external wallet providers like MetaMask, -WalletConnect, Coinbase and more, enabling seamless onboarding of crypto native alongside the social login aspect for non crypto native users. This -allows your application to be able to support all the required authentication flows with just a simple integration. These capabilities are enabled by -our modular SDK, where each login provider is an `adapter` that can be plugged into the SDK. - -:::note - -Please note that these capabilities of connecting to multiple wallets is only available for the Web SDKs, currently these adapters are not available -for Mobile and Gaming SDKs. - -::: - -:::info Integrate the wallet of your choice - -Currently Web3Auth support the following wallets, please go to their respective SDK References to integrate them into your project: - -- [Torus EVM Wallet](/sdk/pnp/web/adapters/torus-evm) -- [Torus Solana Wallet](/sdk/pnp/web/adapters/torus-solana) -- [MetaMask](/sdk/pnp/web/adapters/metamask) -- [Phantom Wallet](/sdk/pnp/web/adapters/phantom) -- [WalletConnect V1](/sdk/pnp/web/adapters/wallet-connect-v1) -- [Coinbase Wallet](/sdk/pnp/web/adapters/coinbase) -- [Slope Wallet](/sdk/pnp/web/adapters/slope) -- [Solflare Wallet](/sdk/pnp/web/adapters/solflare) - -::: - -## Understanding Adapters - -Adapters are essentially connectors between Web3Auth and the underlying wallet provider. For example, an adapter for connecting with torus wallet is -available under web3auth as [@web3auth/torus-evm-adapter](/sdk/pnp/web/adapters/torus-evm). Every adapter follows a common interface which is required -by Web3Auth to communicate with the wallet. - -An adapter emits certain events like `CONNECTED`, `CONNECTING` and `DISCONNECTED` etc during login lifecycle of a user. Each adapter exposes provider -on successful user login that can be used to invoke RPC calls on wallet and on connected blockchain. - -Hence, adapters are needed to connect your Web3Auth instance to a wallet provider. Web3Auth by default contains a pre-configured list of login -adapters. It also provides flexibility to add/remove adapters or to use some existing adapter with custom configurations. To configure an adapter -create an instance of the adapter by using its corresponding package and pass the returned adapter instance in the `configureAdapter` function. - -For example, to configure openlogin adapter, - -- Import the `OpenloginAdapter` from the `@web3auth/openlogin-adapter` package. -- Create an instance of the adapter along with the configuration -- Pass the returned instance to `web3auth.configureAdapter` as shown in the example below. - -```tsx -import { OpenloginAdapter } from "@web3auth/openlogin-adapter"; - -const openloginAdapter = await OpenloginAdapter({ - adapterSettings: { - network: "sapphire_mainnet", - uxMode: "popup", - }, -}); - -web3auth.configureAdapter(openloginAdapter); -``` - -## Currently Available Wallet Adapters - -By default Web3Auth's modal UI supports a set of default adapters depending on the `authMode` being used. By default, Web3Auth requires basic -configuration `client_id`, and registering a redirect if you are using CustomAuth adapter from the dashboard. - -The table below summarizes all the available adapters and their properties - -| Adapter | AuthMode | ChainNamespace | Default | Package Name | -| ------------------ | ---------------- | ----------------- | ------- | -------------------------------------------------------------------------------- | -| `openlogin` | `WALLET`, `DAPP` | `EIP155`,`SOLANA` | `YES` | [`@web3auth/openlogin-adapter`](/sdk/pnp/web/adapters/openlogin) | -| `torus-evm` | `DAPP` | `EIP155` | `YES` | [`@web3auth/torus-evm-adapter`](/sdk/pnp/web/adapters/torus-evm) | -| `torus-solana` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/torus-solana-adapter`](/sdk/pnp/web/adapters/torus-solana) | -| `metamask` | `DAPP` | `EIP155` | `YES` | [`@web3auth/metamask-adapter`](/sdk/pnp/web/adapters/metamask) | -| `phantom` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/phantom-adapter`](/sdk/pnp/web/adapters/phantom) | -| `walletconnect-v1` | `DAPP` | `EIP155` | `YES` | [`@web3auth/wallet-connect-v1-adapter`](/sdk/pnp/web/adapters/wallet-connect-v1) | -| `coinbase` | `DAPP` | `EIP155` | `YES` | [`@web3auth/coinbase`](/sdk/pnp/web/adapters/coinbase) | -| `slope` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/slope`](/sdk/pnp/web/adapters/slope) | -| `solflare` | `DAPP` | `SOLANA` | `YES` | [`@web3auth/solflare`](/sdk/pnp/web/adapters/solflare) | - -### Types of Wallet Adapters - -Currently Web3Auth supports two categories of wallet adapters: - -- `IN_APP` Application Wallets -- `EXTERNAL` External Wallets - -#### Application Wallets - -- Application wallets are those wallets which are scoped to dApp. This means that if you are logging in with the same application wallet on different - applications, you will get different wallets (private keys). -- `openlogin`, `torus-evm` and `torus-solana` are Application Wallets. - -#### External Wallets - -- External wallet are those which are global for all applications. No matter where you are logging in, you will get same wallets if same credentials - are being provided. -- `metamask`, `phantom` and `walletconnect-v1`, `coinbase`, `slope`, `solflare` are External Wallets in Web3Auth. - -:::info - -To know more about Adapter, checkout our [SDK Reference](/sdk/pnp/web/adapters/#common-configuration-interfaces), where we have specifically mentioned -all the available adapters and their properties. - -::: diff --git a/docs/pnp/features/custom-authentication.mdx b/docs/pnp/features/custom-authentication.mdx deleted file mode 100644 index cb5a0769b..000000000 --- a/docs/pnp/features/custom-authentication.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Custom Authentication -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Custom Authentication | Documentation - Web3Auth" ---- - -import BYOCustomJWTTiles from "@site/src/common/docs/_byo-custom-jwt-providers.mdx"; -import FederatedTiles from "@site/src/common/docs/_federated-providers.mdx"; -import SocialTiles from "@site/src/common/docs/_social-login-providers.mdx"; - -Custom Authentication is the ability to integrate your own authentication flow with Web3Auth. We suggest using Custom Authentication instead of -relying on Web3Auth's default authentication Modal. - -The benefits of using Custom Authentication are: - -- It provides a comprehensive user experience from beginning to end. -- You can customize the data required from the authentication service and onboard users according to your specific needs. -- You can seamlessly migrate your existing users to the new authentication flow with Web3Auth, without requiring them to create new accounts. - -## Supported Login Providers - -### Social - - - -### Federated / Identity Providers - - - -### Bring your own Custom Login Providers - -:::info - -For Custom JWT based authentication services, you need to use the [`Web3Auth Plug and Play No Modal SDK`](/sdk/pnp/web/no-modal/), since the Web3Auth -Modal will only help you configure the social logins present within the Modal UI. - -::: - - - -There are some nuances with certain login providers, so don't hesitate to get in touch with us on [Discord](https://discord.gg/web3auth) or simply -create a [GitHub Discussion](https://web3auth.io/discussions) and we will take care of things from there. - -## FAQs - -:::tip - -**Here are a couple of FAQs that might help you:** - -- **Which logins should my application support?** - - - You can select from [this list](/auth-provider-setup/#supported-auth-providers) or use your own custom authentication. There are some nuances with - certain login providers, so don't hesitate to get in touch with us. - -- **Should different logins lead to the same key?** - - - You can choose to connect logins with the same `Verifier ID`. For example if a user uses generic email logins and a gmail login to login on - different occasions he/she can still retrieve the same key. This can only be done on logins which share a common unique identifier for a user. - - Read more about aggregating logins [here](/auth-provider-setup/aggregate-verifier). - -- **Can XXXX authenticator/login be supported?** - - - Yes, If you'd like support for a particular login system do send your query over to hello@web3auth.io - - If you have any questions, please get in touch with us on [Discord](https://discord.gg/web3auth) or create a - [GitHub Discussion](https://web3auth.io/discussions). - - We'll be happy to help you out! - -::: diff --git a/docs/pnp/features/dapp-share.mdx b/docs/pnp/features/dapp-share.mdx deleted file mode 100644 index 63311f32e..000000000 --- a/docs/pnp/features/dapp-share.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: dApp Share -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "dApp Share | Documentation - Web3Auth" ---- - -import AndroidResponse from "@site/src/common/sdk/pnp/android/_response.mdx"; -import FlutterResponse from "@site/src/common/sdk/pnp/flutter/_response.mdx"; -import IosResponse from "@site/src/common/sdk/pnp/ios/_response.mdx"; -import RNUserInfo from "@site/src/common/sdk/pnp/react-native/_get-user-info.mdx"; -import WebResponse from "@site/src/common/sdk/pnp/web/_get-user-info-response.mdx"; -import TabItem from "@theme/TabItem"; -import Tabs from "@theme/Tabs"; - -# Backup Share for Applications - dApp Share - -## Web3Auth Infrastructure at a glance - -If you go through the [Web3Auth infrastructure](/infrastructure/) you'll notice that to enable the non custodiality of Web3Auth, we split the private -key into multiple parts, ie. `shares`. These shares are a part of the off chain multisig, where multiple shares are stored in different places and can -be used to reconstruct the private key dynamically in the user's frontend application. For a glance at the structure of the shares, these are the -following: - -1. **`ShareA` is managed by a login service via node operators**: This share is further split amongst a network of nodes and retrieved via - conventional authentication flows. -2. **`ShareB` is stored on the user's device**: Implementation is device and system specific. For example, on mobile devices, the share could be - stored in device storage secured via biometrics. -3. **`ShareC` is a recovery share**: An extra share to be kept by the user, possibly kept on a separate device, downloaded or based on user input with - enough entropy (eg. password, security questions, hardware device etc.). - -Similar to existing 2FA systems, a user needs to prove ownership of at least 2 out of 3 (2/3) shares, in order to retrieve his private key. This -initial setup provides several benefits. - -## The User Experience in Mobile Platforms - -The user experience on mobile platforms is very different from the web platforms. This is because the user has to be redirected to a browser where -they can login using their socials and then back to the app once they have been successfully authenticated. This user experience shifts the context -between two applications, whereas, in web platforms, the context remains within the browser only. - -For the seamless login flow, we need to reconstruct Shares A, and B. Share A is managed by the login service and is provided on successful -authentication. Whereas in web platforms, Share B is stored in the browser context. We can still store it in the browser context for mobile devices, -but this has a few risks, like users accidentally deleting browser data. This is a bigger problem in mobile devices since the user doesn't realize -that the browser is being used to login within the app, and clearing the browser data can cause their logins to fail. Hence, to tackle this issue, -Web3Auth issues a dApp Share, i.e., a backup share that can be stored by the app developer directly within their application and used to reconstruct -the private key after successful login by the user. - -## The dApp Share - -Once a user logs in, their details are returned as a response to the mobile application. The same response can be retrieved in web applications by -utilizing the `getUserInfo()` function. Here's what the login response looks like for various platforms. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -In all of the responses, there is a field called dappShare, which is a 24-word seed phrase that can be used to reconstruct the private key. These -dappShares supplement Share A and makeup half of the private key. The application can securely store the dApp share in its local storage. Users can -use their social media accounts to obtain one share when logging in. The application provides the dApp Share, eliminating the need to store the share -in the browser context and enabling users to log in smoothly. This is accomplished by passing the stored dApp share value in the login function (for -Mobile SDKs) or the openlogin adapter configuration (for Web SDK). - -:::note - -It's important to understand that `dappShare` is exclusively for `custom verifiers` and can't be used with standard web3auth verifiers. Moreover, -**only users who have `enabled MFA` can access it**. To use dApp Share, you need to use the custom authentication feature of Web3Auth. This guarantees -that an application can only access the share corresponding to a user's private key. - -::: diff --git a/docs/pnp/features/interoperability.mdx b/docs/pnp/features/interoperability.mdx deleted file mode 100644 index e030eb45c..000000000 --- a/docs/pnp/features/interoperability.mdx +++ /dev/null @@ -1,218 +0,0 @@ ---- -title: Interoperability -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Interoperability | Documentation - Web3Auth" ---- - -import CreateImageUrl from "@site/static/guides/interoperability/dashboard-create-pnp-1.png"; -import CreateDashboardPnp from "@site/static/guides/interoperability/dashboard-create-pnp-3.png"; -import CreateDashboardPnp4 from "@site/static/guides/interoperability/dashboard-create-pnp-4.png"; -import WalletOnDapp from "@site/static/guides/interoperability/interoperability-via-plugin.png"; -import Image1 from "@site/static/guides/interoperability/torus-wallet-login-1.png"; -import TorusWalletLogin from "@site/static/guides/interoperability/torus-wallet-login-2.png"; -import TorusWalletLogin3 from "@site/static/guides/interoperability/torus-wallet-login-3.png"; - -One of the most remarkable capabilities of Web3Auth is its compatibility with Torus Wallet. This signifies that the private key created within your -application using Web3Auth can authorize transactions within Torus Wallet, even across other applications. Furthermore, to enhance interoperability, a -user can connect to other wallets and decentralized applications (dApps) using the WalletConnect flow within Torus Wallet. This empowers a dApp to -decide whether they want to allow users to move funds around using Torus Wallet without designing the necessary flows themselves. - -For interoperability to work, there are two flows that a dApp can implement: - -- Interoperability with Plugins (WalletConnect & Torus Wallet) -- Using Web3Auth Dashboard Toggles (A no-code way to enable interoperability with Torus Wallet) - -## Interoperability with Plugins - -Web3Auth supports UI plugins for Torus Wallet operations, helping you with flows to add funds, manage transactions, and much more. This enables you to -avoid making wallet flows within your application. Additionally, these plugins give you the advantage of using the same key from Web3Auth across -multiple applications using Torus Wallet and Wallet Connect. - -You can natively, within your application, use the `Wallet Connect` function after adding in the Torus Wallet plugin. This triggers the scan QR Code -flow of Wallet Connect to help you connect to the application. - -:::info - -Currently, the following plugins are supported: - -- [Torus EVM Wallet UI Plugin](/sdk/helper-sdks/plugins/evm-wallet) -- [Torus Solana Wallet UI Plugin](/sdk/helper-sdks/plugins/solana-wallet) - -Read more about them in the [Plugins SDK Reference](/sdk/helper-sdks/plugins). - -::: - -### Torus EVM Wallet - -```tsx -import { TorusWalletConnectorPlugin } from "@web3auth/torus-wallet-connector-plugin"; - -const torusPlugin = new TorusWalletConnectorPlugin({ - torusWalletOpts: {}, - walletInitOptions: { - whiteLabel: { - theme: { isDark: true, colors: { primary: "#00a8ff" } }, - logoLight: "https://web3auth.io/images/web3auth-logo.svg", - logoDark: "https://web3auth.io/images/web3auth-logo---Dark.svg", - }, - useWalletConnect: true, - enableLogging: true, - }, -}); -await web3auth.addPlugin(torusPlugin); -``` - -### Torus Solana Wallet - -```tsx -import { SolanaWalletConnectorPlugin } from "@web3auth/solana-wallet-connector-plugin"; - -const torusPlugin = new SolanaWalletConnectorPlugin({ - torusWalletOpts: {}, - walletInitOptions: { - whiteLabel: { - name: "Whitelabel Demo", - theme: { isDark: true, colors: { torusBrand1: "#00a8ff" } }, - logoLight: "https://web3auth.io/images/web3auth-logo.svg", - logoDark: "https://web3auth.io/images/web3auth-logo---Dark.svg", - topupHide: true, - defaultLanguage: "en", - }, - useWalletConnect: true, - enableLogging: true, - }, -}); -await web3auth.addPlugin(torusPlugin); -``` - -### Wallet Connect Flow - -`via Torus Wallet` - -
-
-
    -
  • - Once you added Torus Wallet Plugin in your dApp, you'll see something like this: Click on the circular icon to open this Modal. -
  • -
-
-
- Torus Wallet Plugin Modal -
-
- -- Upon clicking the `Open Wallet` link, a pop-up with the Torus Wallet will open. - -![Torus Wallet](/guides/interoperability/interoperability-torus-wallet.png) - -- Torus Wallet has two flows to login via Wallet Connect. `Paste` or `Scan` the WalletConnect QR code. - - #### Copy Paste Flow - - - Let say, you want to login to a dApp( eg. OpenSea ), click on WalletConnect option to login, you'll see this screen. - - ![Wallet Connect QR and copy to clipboard](/guides/interoperability/interoperability-wc-clipboard.png) - - - Click on `Copy to clipboard`. - - - Paste the wallet connect url copied above to this box, and click anywhere on the screen. Within seconds, you'll see a green banner saying it's - connected. - - ![Torus Wallet After Paste](/guides/interoperability/interoperability-after-wc-paste.png) - - - At this time, go to the dApp( eg. OpenSea ). - - - You'll see a Modal to `Accept and Sign`. Click on it and come back to the `Torus Wallet`. - - ![Modal to Accept and Sign](/guides/interoperability/interoperability-modal-on-opensea.png) - - - In your `Torus Wallet`, you'll need to confirm the permission on the shown Modal. - - ![Confirm Permission Modal](/guides/interoperability/interoperability-confirm-login.png) - - - Upon confirming, you'll be logged in your dApp ( eg. OpenSea ) - - #### Scan QR Code Flow - - - To login via QR Code, click on `Scan to connect`. - - ![Torus Wallet - Scan to Connect](/guides/interoperability/interoperability-torus-wallet.png) - - - Camera window will open, show the `Wallet Connect QR Code` to login. - - - Upon login, you'll see a green banner saying it's connected. - - ![Torus Wallet After Connected](/guides/interoperability/interoperability-after-wc-paste.png) - -## Using Web3Auth Dashboard Toggles - -Within the Web3Auth Dashboard, while setting up a new Plug and Play project or editing an existing one, you have the option to configure -interoperability with Torus Wallet. - -To enable it, you need to do the following steps: - -- Create a new / edit your existing Plug and Play project - - - -
-
-
    -
  • - Select the chain you want your dApp to interact with. For interoperability, you have the option between EVM based Chain,{" "} - Solana & Casper. -
  • -
-
-
- -
-
- -- Once you have selected one of the chains supported by Torus Wallet, you can now select the option `Allow user's private key usage in given wallets:` - to enable interoperable flow with the Torus Wallets. These wallets can be accessed on the following domains: - -
-
-
    -
      -
    • - EVM Wallet - https://app.tor.us -
    • -
    • - Solana Wallet - https://solana.tor.us -
    • -
    • - Casper Wallet - https://casper.tor.us -
    • -
    -
-
-
- -
-
-
- -And you're done! Now, your user can use their Web3Auth private key from your application to sign transactions within Torus Wallet. - -### Flow for the user in Torus Wallet - -- Once you have enabled the interoperability flow, your user can navigate to the respective Torus Wallet app ([EVM](https://app.tor.us), - [Solana](https://solana.tor.us) or [Casper](https://casper.tor.us)). -- To access their key inside Torus Wallet, your user needs to log into Torus Wallet using the same authentication method they used for your - application. - -- Once logged in, your user will be able to access the desired private key while logging in and inside the Torus Wallet application. - - In the screenshots below, the `Project Name` for application (demo-app.web3auth.io) using Web3Auth is `Ahash`. - -
-
- -
-
- -
-
diff --git a/docs/pnp/features/mfa.mdx b/docs/pnp/features/mfa.mdx deleted file mode 100644 index 9b762abb5..000000000 --- a/docs/pnp/features/mfa.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Multi Factor Authentication -displayed_sidebar: docs -description: "Multi Factor Authentication | Documentation - Web3Auth" ---- - -At Web3Auth, we prioritize your security by offering Multi-Factor Authentication (MFA). MFA is an extra layer of protection that verifies your -identity when accessing your account. To ensure ownership, you must provide two or more different backup factors. You have the option to choose from -the device, social, backup factor (seed phrase), and password factors to guarantee access to your Web3 account. Once you create a recovery factor, MFA -is enabled, and your keys are divided into three shares for off-chain multi-sig, making the key self-custodial. With backup factors, you can easily -recover your account if you lose access to your original device or helps login into a new device. - -For a dApp, we provide various options to set up Multi-Factor Authentication. You can customize the MFA screen by setting the `mfaLevel` argument. You -can enable or disable a backup factor and change their order. Currently, there are four values for `mfaLevel`: - -- `default`: presents the MFA screen every third login -- `optional`: presents the MFA screen on every login, but you can skip it -- `mandatory`: make it mandatory to set up MFA after login -- `none`: skips the MFA setup screen. - -:::caution Note - -If you are using default verifiers, your users may have set up MFA on other dApps that also use default Web3Auth verifiers. In this case, the MFA -screen will continue to appear if the user has enabled MFA on other dApps. This is because MFA cannot be turned off once it is enabled. - -::: - -We offer the following backup factors under `mfaSettings`: - -:::note Minimum SCALE plan required - -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **SCALE -Plan**. You can use this feature in the development environment for free. - -::: - -- `deviceShareFactor`, -- `backUpShareFactor`, -- `socialBackupFactor`, and -- `passwordFactor`. - -Choose the best options that suit your needs to ensure a safe and secure Web3 experience. - -## Default mfaSettings - -![Default MFA](/images/mfa-default.gif) - -## Custom mfaSettings - -![Custom MFA](/images/mfa-custom.gif) diff --git a/docs/pnp/features/server-side-verification/external-wallets.mdx b/docs/pnp/features/server-side-verification/external-wallets.mdx deleted file mode 100644 index bbca9848a..000000000 --- a/docs/pnp/features/server-side-verification/external-wallets.mdx +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: External Wallets -displayed_sidebar: docs -description: "External Wallets | Documentation - Web3Auth" -image: "images/docs-meta-cards/documentation-card.png" ---- - -Web3Auth's SDK has abstracted the Server Side Verification Flow that was present in `Auth.js` SDK aka Sign-in with Web3 to allow External Wallet users -to login smoothly and allowing dApps to verify the JWT Token(`idToken`) using Web3Auth's JWKS endpoint. - -> If you're still looking for the old flow, visit [Sign-in with Web3](https://siww.web3auth.io/). - -## Get idToken - -After a user is logged in using one of the supported [Wallets](/sdk/pnp/web/adapters/#currently-available-wallet-adapters). One can obtain the -`idToken` by calling `web3auth.authenticateUser()` of Web3Auth. - -### `authenticateUser` - -```tsx -await web3auth.authenticateUser(); -``` - -#### Returns - -```json -{ - "idToken": "" -} -``` - -:::note - -The External Wallet's `idToken` payload is different than the Social login's `idToken`. - -::: - -### Sample `idToken` payload - -```json -{ - "iat": 1661158877, - "iss": "", - "aud": "https://requesting.website", - "wallets": [ - { - "address": "0x809d4310d578649d8539e718030ee11e603ee8f3", - "type": "ethereum" - } - ], - "exp": 1661245277 -} -``` - -| Parameter | Type | Description | -| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `iat` | `number` | The "iat" (issued at) claim identifies the time at which the JWT was issued. | -| `aud` | `string` | The "audience" claim identifies the recipients that the JWT is intended for. (Here, it's `website's url`) | -| `iss` | `string` | The "issuer" claim identifies who issued the JWT.
Here, issuer could be `torus-evm`, `torus-solana`, `metamask`, `phantom`, `walletconnect-v1`, `coinbase`, `slope`, `solflare` | -| `wallets` | `array` | list of wallets for which this token is issued:
  • `address` : Wallet public address
  • `type` Network Type such as "ethereum", "solana" or "starkware" incase of external wallets
| - -## Verifying JWT Token (idToken) - -In order to verify the JWT Token(`idToken`) you need the wallet's `address` and the `idToken` obtained from the `authenticateUser()`. - -### Getting `address` and `idToken` in Frontend - -```typescript -// Get user's Ethereum public address -const address = (await web3.eth.getAccounts())[0]; -// Get user's Solana public address -const address = await solanaWallet.requestAccounts(); - -// For other chains, please refer to https://web3auth.io/docs/connect-blockchain/ - -/* Assuming user is logged in, get the token containtaing idToken */ -const token = await web3auth.authenticateUser(); - -// Verify idToken at your backend server -const res = await fetch("/api/verify", { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: "Bearer " + token.idToken, - }, - body: JSON.stringify({ public_address: address }), -}); -``` - -### Verifying `idToken` in Backend - -:::info JWKS endpoint - -Please note, the JWKS endpoint for External wallets are different from Social logins. - -- JWKS Endpoint: `https://authjs.web3auth.io/jwks` - -::: - -```javascript -import * as jose from "jose" - -// passed from the frontend in the Authorization header -const idToken = req.headers.authorization?.split(' ')[1]; - -// passed from the frontend in the request body -const publicAddress = req.body.public_address; - -// Get the JWK set used to sign the JWT issued by Web3Auth -// highlight-next-line -const jwks = jose.createRemoteJWKSet(new URL("https://authjs.web3auth.io/jwks")); - -// Verify the JWT using Web3Auth's JWKS -const jwtDecoded = await jose.jwtVerify(idToken, jwks, { algorithms: ["ES256"] }); - -// Incase of Non-Torus Users -// Checking Wallet's `publicAddress` against the decoded JWT wallet's address -if ((jwtDecoded.payload as any).wallets[0].address.toLowerCase() === publicAddress.toLowerCase()) { - // Verified - res.status(200).json({name: 'Verification Successful'}) -} else { - res.status(400).json({name: 'Verification Failed'}) -} - -``` diff --git a/docs/pnp/features/server-side-verification/server-side-verification.mdx b/docs/pnp/features/server-side-verification/server-side-verification.mdx deleted file mode 100644 index 196b89bf9..000000000 --- a/docs/pnp/features/server-side-verification/server-side-verification.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Server Side Verification -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Server Side Verification | Documentation - Web3Auth" ---- - -import TabItem from "@theme/TabItem"; -import Tabs from "@theme/Tabs"; - -Currently Web3Auth supports two types of users :- - -1. Users who login using [Social Logins or Email Passwordless](/pnp/features/server-side-verification/social-login-users). -2. Users who login using [External Wallets](/pnp/features/server-side-verification/external-wallets). - -As a dApp you might want to authenticate a Web3Auth user in your backend. Generally the authentication happens in Frontend, but for the backend -authentication we will use a JWT Token(`idToken`). - -Web3Auth provides a mechanism to get a JWT Token for both the **social login users** as well as the **external wallet users**. - - - - - -```tsx -await web3auth.getUserInfo(); - -/* OR */ - -await web3auth.authenticateUser(); -``` - - - - -```tsx -await web3auth.authenticateUser(); -``` - - - - -In the next pages, we will help you understand how to get the JWT Token in your Frontend and also how to verify it at your Backend server. diff --git a/docs/pnp/features/session-management.mdx b/docs/pnp/features/session-management.mdx deleted file mode 100644 index b0ce671f9..000000000 --- a/docs/pnp/features/session-management.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Session Management -displayed_sidebar: docs -description: "Session Management | Documentation - Web3Auth" ---- diff --git a/docs/pnp/features/whitelabel/torus-wallet-plugin.mdx b/docs/pnp/features/whitelabel/torus-wallet-plugin.mdx deleted file mode 100644 index 0bbb28050..000000000 --- a/docs/pnp/features/whitelabel/torus-wallet-plugin.mdx +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: Torus Wallets -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: " Torus Wallet Plugin | Documentation - Web3Auth" ---- - -import Image14 from "@site/static/guides/whitelabel-web3auth-wallet-modal1.png"; -import Image15 from "@site/static/guides/whitelabel-web3auth-wallet-modal2.png"; -import Image8 from "@site/static/guides/whitelabel-web3auth-wallet-popup1.png"; -import Image9 from "@site/static/guides/whitelabel-web3auth-wallet-popup2.png"; -import Image12 from "@site/static/guides/whitelabel-web3auth-wallet-wallet1.png"; -import Image13 from "@site/static/guides/whitelabel-web3auth-wallet-wallet2.png"; -import Image10 from "@site/static/guides/whitelabel-web3auth-wallet-widget1.png"; -import Image11 from "@site/static/guides/whitelabel-web3auth-wallet-widget2.png"; - -Using the `TorusWalletAdapter` & `SolanaWalletAdapter` settings, the user experience of Torus Wallets can be customized to match your branding. - -## Arguments - -`new TorusWalletAdapter({initParams: {whiteLabel: {...}}})` - -`new SolanaWalletAdapter({initParams: {whiteLabel: {...}}})` - -| Parameter for `whiteLabel` | Type | Options | -| -------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `theme` | `object` | Can be set to `dark` or `light` with default to `light` . | -| `theme` -> `isDark` | `boolean` | Set to `true` for dark mode (default `false`) | -| `theme` -> `colors` | `object` | Theme is a record of colors that can be configured. As of, now only `torusBrand1` color can be set and this refers to the primary color. | -| `logoDark` | `string` | The URL of the dark mode logo. | -| `logoLight` | `string` | The URL of the light mode logo. | -| `topupHide` | `boolean` | Hide the topup button. | -| `featuredBillboardHide` | `boolean` | Hide the featured billboard. | -| `disclaimerHide` | `boolean` | Hide the disclaimer. | -| `defaultLanguage` | `string` | The default language of the wallet. The supported languages are: `en`, `de`, `ja`, `ko`, `zh`, `es`. | - -## General Config - -#### `theme` - -- `isDark`: Set to `true` for dark mode (default `false`) -- `colors`: Theme is a record of colors that can be configured. As of, now only `torusBrand1` color can be set and this refers to the primary color. - -#### `logoDark` - -App logo url to use in dark mode - -#### `logoLight` - -App logo url to use in light mode - -#### `defaultLanguage` - -Define preferred language. Possible values are: - -- `en`: english (default) -- `de`: german -- `ja`: japanese -- `ko`: korean -- `zh`: mandarin -- `es`: spanish - -### Screenshot for Reference - -##### Confirm Popup - -
-
- confirm pop -
-
- confirm pop dark -
-
- -##### Widget - -
-
- widget -
-
- widget dark -
-
- -## Torus Wallet - -#### Hide Topup `topupHide` - -Shows/hides Topup page in Torus Wallet - -#### Billboard `featuredBillboardHide` - -Shows/hides Billboard in Torus Wallet - -
-
- Billboard -
-
- Billboard dark -
-
- -## Login Modal - -#### Disclaimer `disclaimerHide` - -Shows/hides disclaimers on login page. Only works if special logins are hidden. - -
-
- Disclaimer hide -
-
- Disclaimer hide dark -
-
- -## Example - -### `TorusWalletAdapter` - -```tsx -import { Web3Auth } from "@web3auth/modal"; -import { TorusWalletAdapter } from "@web3auth/torus-evm-adapter"; -import { CHAIN_NAMESPACES } from "@web3auth/base"; - -const web3auth = new Web3Auth({ - chainConfig: { chainNamespace: CHAIN_NAMESPACES.EIP155 }, - clientId: "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ", - web3AuthNetwork: "sapphire_mainnet", -}); - -const torusWalletAdapter = new TorusWalletAdapter({ - initParams: { - // type WhiteLabelParams - whiteLabel: { - theme: { - isDark: true, - colors: { torusBrand1: "#FFA500" }, - }, - logoDark: "https://images.web3auth.io/web3auth-logo-w.svg", - logoLight: "https://images.web3auth.io/web3auth-logo-w-light.svg", - topupHide: true, - featuredBillboardHide: true, - disclaimerHide: true, - defaultLanguage: "en", - }, - }, -}); - -web3auth.configureAdapter(torusWalletAdapter); -``` - -### `SolanaWalletAdapter` - -```tsx -import { Web3Auth } from "@web3auth/modal"; -import { SolanaWalletAdapter } from "@web3auth/torus-solana-adapter"; -import { CHAIN_NAMESPACES } from "@web3auth/base"; - -const web3auth = new Web3Auth({ - chainConfig: { chainNamespace: CHAIN_NAMESPACES.EIP155 }, - clientId: "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ", - web3AuthNetwork: "sapphire_mainnet", -}); - -const solanaWalletAdapter = new SolanaWalletAdapter({ - initParams: { - // type WhiteLabelParams - whiteLabel: { - theme: { - isDark: true, - colors: { torusBrand1: "#FFA500" }, - }, - logoDark: "https://images.web3auth.io/web3auth-logo-w.svg", - logoLight: "https://images.web3auth.io/web3auth-logo-w-light.svg", - topupHide: true, - featuredBillboardHide: true, - disclaimerHide: true, - defaultLanguage: "en", - }, - }, -}); - -web3auth.configureAdapter(solanaWalletAdapter); -``` diff --git a/docs/pnp/features/whitelabel/whitelabel.mdx b/docs/pnp/features/whitelabel/whitelabel.mdx deleted file mode 100644 index e36c3e0c5..000000000 --- a/docs/pnp/features/whitelabel/whitelabel.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Web3Auth Plug and Play Whitelabel -sidebar_label: Whitelabel -displayed_sidebar: docs -description: "Web3Auth Plug and Play Whitelabel | Documentation - Web3Auth" -image: "images/docs-meta-cards/documentation-card.png" ---- - -Whitelabeling enables you to maintain a consistent user experience across your application. With Web3Auth, you can customize the user interface, -branding, and translations to match your application's needs. Our SDKs support white labeling, allowing for detailed customization across all our -offerings. - -You can do whitelabelling across `Web3Auth Plug and Play Modal`, `User Flow Screens` via `Openlogin Adapter` and `Mobile SDKs`, and -`Torus & Solana Wallet UI` instances. - -- [Web3Auth Plug and Play Login Modal](/pnp/features/whitelabel/login-modal) - - ![Web3Auth Plug and Play Login Modal](/images/whitelabel/modal/whitelable-login-modal.gif) - -- [User Flow Screens](/pnp/features/whitelabel/user-flow-screens) - - ![Web3Auth - User Flow Screens](/images/whitelabel/user-flow-screens.gif) - -- [Torus & Solana Wallet UI](/pnp/features/whitelabel/torus-wallet-plugin) diff --git a/docs/pnp/going-live.mdx b/docs/pnp/going-live.mdx deleted file mode 100644 index c9930f0b7..000000000 --- a/docs/pnp/going-live.mdx +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Going Live with Web3Auth Plug and Play -sidebar_label: Going Live Checklist -displayed_sidebar: docs -description: "Going Live with Plug and Play Web3Auth | Documentation - Web3Auth" ---- - -Before going live with Web3Auth Plug and Play SDKs, please make sure you have completed the following steps: - -### 1. Create a Web3Auth Production Client ID - -Make sure your client id for Web3Auth is on the Sapphire Mainnet Network. The Sapphire Mainnet is our geo-distributed, horizontally scalable network. -If you have certain specific requirements for the network configurations for scalability, please reach out to us at our -[Community Portal](https://community.web3auth.io). - -:::info - -You need to create a Sapphire Devnet client id for the same name before creating a production client id. This is to ensure that your testing and -production environments are separate and the wallets generated for the end users remain safe. - -::: - -:::warning - -Make sure your Web3Auth Network in the SDK initialization is the **same** as your client id network, otherwise you find see errors while logging your -users in. - -::: - -### 2. Create a Web3Auth Production Verifier - -While using the [Custom Authentication Feature](/pnp/features/custom-authentication) in the Plug and Play SDKs, you will need to create a verifier. -Make sure the network of the verifier is the same as the network of the client id. - -:::warning - -All new verifiers produce **different wallets/ accounts** for users, it is not possible to rename a verifier once you have created it. The person who -has created the verifier can only edit it afterwards. This is a limitation even when you have a team setup. This is because a verifier is a smart -contract and the address editing it cannot be changed. The only way to change this is to create a new verifier. - -::: - -### 3. Update your Web3Auth SDKs to the latest version - -We are constantly updating our SDKs to make sure they are secure and performant. Make sure you are using the latest version of the SDKs. Please do not -actively use the pre release versions, rather wait for the latest stable release. - -### 4. Use a production RPC Endpoint for your respective blockchains - -For testing purposes, our examples and SDKs use public RPC endpoints. Make sure you are using a production RPC endpoint (by providers like Infura, -Quicknode, Alchemy etc.) for your production environment before going live. This can be done by updating the -[`rpcTarget`](/sdk/pnp/web/modal/initialize#chainconfig) value in the `Web3Auth` object in the SDK initialisation in Web SDKs and updating the -provider URL in mobile SDKs. - -### 5. Audit the UX for your Web3Auth Login flow - -From the icon showing up in the Web3Auth Modal to the [whitelabel setting](/pnp/features/whitelabel/) for the intermediary pages that are shown to the -user, make sure you have checked your branding and customisations. Checking all the possible flows is recommended. - -### 6. Check your interoperability flow - -If you're using [interoperability with Torus Wallet](/pnp/features/interoperability#using-web3auth-dashboard-toggles) on the dashboard settings, you -need to use Web3Auth in the `mainnet` network. It is recommended that you audit that flow before going live. Your app name shown in the Torus Wallet -login screen is the app name of your Client Id so make sure you have updated that. - -If you're using [WalletConnect or Web3Auth Plugins based interoperability flow](/pnp/features/interoperability#interoperability-with-plugins), make -sure you have tested the flow before going live. - -### 7. Check in multiple browsers and devices - -The Web3Auth SDKs are built to work in all [major browsers and devices](/troubleshooting/supported-browsers). Make sure you have tested your login -flow in all major browsers and devices. If you're facing any issues with any particular browser or device, please make sure they're compatible with -the Web3Auth SDKs. - -### 8. Upgrade your Web3Auth Plan - -Finally, make sure you're on the correct [Web3Auth Plan](https://web3auth.io/pricing.html) according to the features you're looking to use in the -production environment. Additionally make sure to add a credit card in the Web3Auth Dashboard so that your services are not stopped once the MAW cap -has reached. diff --git a/docs/pnp/introduction.mdx b/docs/pnp/introduction.mdx deleted file mode 100644 index e9e39c44b..000000000 --- a/docs/pnp/introduction.mdx +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Web3Auth Plug and Play -sidebar_label: Introduction -displayed_sidebar: docs -description: "Plug and Play Web3Auth | Documentation - Web3Auth" ---- - -Web3Auth offers developers easy-to-use SDKs and predefined UX flows for quickly integrating Web3Auth instances into various platform offerings. - -**There are two options for using Web3Auth on the web:** - -- **Web3Auth Plug and Play Modal SDK [`@web3auth/modal`](/sdk/pnp/web/modal/):** This SDK provides a simple and modular way of implementing Web3Auth - directly within your application. You can customize the pre-configured Web3Auth Modal UI according to your needs. - -- **Web3Auth Plug and Play No Modal SDK [`@web3auth/no-modal`](/sdk/pnp/web/no-modal):** This SDK implements all the Web3Auth features you need and - allows you to use your UI with the Web3Auth SDK working behind the scenes. - -**For mobile app development, Web3Auth offers four Plug and Play SDKs:** - -- **Web3Auth Plug and Play Android SDK [`web3auth-android-sdk`](/sdk/pnp/android):** This client-side library allows you to authenticate users using - Web3Auth on your Android app. It provides a private key generated in a non-custodial way on successful user authentication. You can use any social - login options that Web3Auth supports or implement a custom authentication flow. - -- **Web3Auth Plug and Play iOS SDK [`web3auth-swift-sdk`](/sdk/pnp/ios):** This SDK, written in Swift, enables you to authenticate users using - Web3Auth on your iOS app. It also provides a private key generated in a non-custodial way on successful user authentication. You can use any social - login options Web3Auth supports or implement a custom authentication flow. - -- **Web3Auth Plug and Play React Native SDK [`web3auth-react-native-sdk`](/sdk/pnp/react-native):** This SDK, written in TypeScript, allows you to - authenticate users using Web3Auth on your React Native app. It provides a private key generated in a non-custodial way on successful user - authentication. You can use any social login options Web3Auth supports or implement a custom authentication flow. - -- **Web3Auth Plug and Play Flutter SDK [`web3auth-flutter-sdk`](/sdk/pnp/flutter):** This SDK, written in Dart, lets you authenticate users using - Web3Auth on your Flutter app. It provides a private key generated in a non-custodial way on successful user authentication. You can use any social - login options Web3Auth supports or implement a custom authentication flow. - -**For gaming development, Web3Auth provides two Plug and Play SDKs:** - -- **Web3Auth Plug and Play Unity SDK [`web3auth-unity`](/sdk/pnp/unity):** This C#-based client-side library allows you to authenticate users using - Web3Auth on the Unity3D game engine. It provides a private key generated in a non-custodial way on successful user authentication. You can use any - social login options Web3Auth supports or implement a custom authentication flow. - -- **Web3Auth Plug and Play Unreal Engine SDK [`web3auth-unreal`](/sdk/pnp/unreal):** This C++ based client-side library lets you authenticate users - using Web3Auth on the Unreal Game Engine. It provides a private key generated in a non-custodial way on successful user authentication. You can use - any social login options Web3Auth supports or implement a custom authentication flow. diff --git a/docs/product-fit/enterprise.mdx b/docs/product-fit/enterprise.mdx deleted file mode 100644 index 887b186a1..000000000 --- a/docs/product-fit/enterprise.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Web3Auth Enterprise Whitelabelled Wallet Offerings -sidebar_label: Enterprise Whitelabelled Wallet -displayed_sidebar: docs -description: "Web3Auth Enterprise Whitelabelled Wallet Offerings | Documentation - Web3Auth" ---- - -At Web3Auth, we understand the evolving landscape of the digital finance world and the increasing demand for bespoke digital wallet solutions. While -our SDKs allow developers to build their applications from scratch, we also understand the need for ready-to-go solutions. For businesses looking to -make their mark in the crypto space without building everything from the ground up, we present our **Enterprise WhiteLabelled Wallet**. - -## WhiteLabelled Wallet Solutions - -Our suite of products, including the **Torus Wallet**, **Web3Auth Plug and Play**, and **Web3Auth Core Kit**, all support whitelabeling as a feature -within the SDKs. However, for more intricate customizations and access to pre-constructed UI elements, our advanced offering can be your solution. - -- **Torus Wallet**: Tailored to reflect your brand, leveraging the robust features of the Torus Wallet. Enables complete cloning of the website at - [app.tor.us](https://app.tor.us). - -- **Web3Auth Plug and Play**: Seamlessly integrate into your user experience. The entire flow can be cloned, replicating the functionality of - [auth.web3auth.io](https://auth.web3auth.io). - -- **React Native Whitelabeled Wallet**: A comprehensive solution optimized for mobile, guaranteeing a uniform and branded experience across all - devices. A video demo of the wallet can be found [here](https://www.youtube.com/watch?v=Si8R2IVZHhM). - -- **Web3Auth Infrastructure Ownership**: Command key aspects of the infrastructure to guarantee optimal customization and security. - -- **Custom UI/UX Flows**: Construct unique user pathways with our specialized assistance, ensuring a perfect alignment with your audience and - objectives. - -## Real-World Applications - -- **fox.web3auth.com**: Fox Corporation leverages a dedicated infrastructure via our Web3Auth Plug and Play. - -- **Trust Wallet Extension**: Built on the foundation of Web3Auth MPC with development directed by our expert team. - -## Advantages of the Enterprise WhiteLabelled Wallet: - -- **Swift Development**: Bypass the initial phases of wallet creation and dive directly into refining and customization, significantly reducing your - go-to-market time. - -- **Economical**: Allocate saved resources and capital to bolster your offerings or diversify into new initiatives. - -- **User-Friendly Customization**: Seamlessly modify the existing framework to mirror your brand identity and provide a unified experience. - -- **Rich in Features**: With varied authentication methods from phone numbers to social logins and support for multi-chain operations, users are - assured a comprehensive, seamless experience. - -- **Licensing Benefits**: The associated fee becomes a judicious investment, given the time, funds, and potential for rapid market introduction that - you save. - -## Embark on Your Customized Journey - -Interested in adopting our Enterprise WhiteLabelled Wallet? We're here to assist, in understanding your unique needs, conceptualizing use cases, and -charting the course for success. - -:::info Schedule a Demo - -[Click here](https://calendly.com/web3auth/meeting-with-web3auth) to initiate discussions or send us an email at our -[business support email](mailto:support@web3auth.io). - -::: diff --git a/docs/product-fit/partner-products.mdx b/docs/product-fit/partner-products.mdx deleted file mode 100644 index 82656b68a..000000000 --- a/docs/product-fit/partner-products.mdx +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: Web3Auth Partner Products -sidebar_label: Partner Products -displayed_sidebar: docs -description: "Web3Auth Partner Products | Documentation - Web3Auth" ---- - -This guide provides an overview of various SDKs built by our partners, leveraging the capabilities of Web3Auth. The integrations serve as an ideal -starting point, offering insights into how Web3Auth harmonizes with diverse user experiences. - -## Account Abstraction SDKs - -Account Abstraction (AA) represents a groundbreaking shift in Web3 authentication methods, redefining how decentralized applications (dApps) are -designed and interacted with today. - -- **Unified Self-Custody:** AA streamlines the process by merging externally-owned accounts (EOAs) and smart contracts, leading to the emergence of - self-custodial wallets, further bolstered by heightened security measures. - -- **Ecosystem Evolution:** At its foundation, the ERC-4337 proposal champions the adaptation and enhancement of AA within the Ethereum network. The - broader vision encompasses achieving complete account abstraction across the ecosystem, an aspiration long-held. - -- **Decentralized Integrity:** Central to ERC-4337 is its commitment to censorship resistance. Thanks to account abstraction, there's no compromise on - decentralization, a challenge that has been elusive for a long time. - -Incorporating Multi-Party Computation (MPC) amplifies the capabilities of account abstraction. Through the dispersion of transaction validation across -multiple parties, MPC ensures that no single participant holds undue influence over a transaction. The marriage of this robust security mechanism with -the intuitiveness of account abstraction delivers an unparalleled dual benefit. Furthermore, Web3Auth's functionality of granting account access via -social logins and augmenting account recovery amplifies user convenience in account access and management. - -Web3Auth is leading this change, and many top software kits use it. By mixing our knowledge in MPC with AA, we make sure our decentralized apps are -strong and easy to use. - -### Biconomy SDK - -A pioneer in leveraging EIP4337 and gas abstraction, the Biconomy SDK is built firmly on the ERC4337 solution, offering a full spectrum of tools -tailored for dApps. It enhances the dApp user experience in a non-custodial manner. Key features include: - -- Seamless user onboarding with social login, account setup & recovery. -- An in-dApp fiat gateway for buying/selling crypto. -- Gasless transactions, allowing dApps to cover gas fees. -- Paying gas fees using ERC20 tokens. -- Custom transaction bundling to streamline multiple operations. - -:::tip - -Check out Biconomy documentation https://docs.biconomy.io/Account/signers/web3auth - -::: - -### Safe\{Core} AA SDK - -With extensive assets under its management, Safe promises robust Smart Account Infrastructure Safe champions open contract standards for the digital -ownership of assets, data, and identity. Their modular Smart Account framework encourages developers to innovate diverse applications and wallets. The -Safe\{Core} AA SDK offers kits to simplify smart contract account operations, complete with guides on integration. - -:::tip - -Check out Safe\{Core} AA SDK documentation https://docs.safe.global/safe-core-aa-sdk/auth-kit/guides/safe-auth - -::: - -### Keyp - -Specifically crafted for game developers and NFT enthusiasts, Keyp offers tools to enhance the web3 onboarding experience. They envision a world where -users hold control over their digital assets. - -:::tip - -Check out Keyp documentation https://docs.usekeyp.com/ - -::: - -### ZeroDev - -ZeroDev focuses on offering the most straightforward developer experience for AA, supported by a robust smart wallet framework. It facilitates easy -smart wallet creation, provides essential smart wallet features, and allows for customized extensions using a plugin framework. Whether you're -creating a wallet or a DApp, ZeroDev promises to elevate the Web3 user experience. - -:::tip - -Check out ZeroDev documentation https://docs.zerodev.app/sdk/signers/web3auth - -::: - -### Gelato - -Committed to delivering the finest user experiences with gas abstraction, Gelato acts as web3's decentralized backbone. It offers a host of services: - -- Web3 functions connecting smart contracts to off-chain data. -- Reliable automated smart contract transactions. -- Gasless transaction relays via an intuitive API. -- A Gasless Wallet SDK in collaboration with Safe's Smart Contract Wallet. - -:::tip - -Check out Gelato documentation https://docs.gelato.network/developer-services/account-abstraction - -::: - -## Ludex Gaming SDK - -Ludex provides web3 solutions for video game developers, facilitating the easy integration of blockchain smart contracts into games using conventional -SDKs and APIs. With the foundation of Web3Auth, game developers can construct a full-fledged web3 game without delving into the nuances of blockchain -technology. Ludex offers a wallet connection integration using Web3Auth for Unity WebGL, Mobile and PC. The Unity SDKs also include Fungible Token & -Non-Fungible Token integration. - -:::tip - -Check out Ludex documentation https://docs.ludex.gg/ - -::: diff --git a/docs/product-fit/pnp-vs-core-kit.mdx b/docs/product-fit/pnp-vs-core-kit.mdx deleted file mode 100644 index fce2d39d3..000000000 --- a/docs/product-fit/pnp-vs-core-kit.mdx +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: Plug and Play vs Core Kit -sidebar_label: PnP vs Core Kit -displayed_sidebar: docs -description: "Plug and Play vs Core Kit | Documentation - Web3Auth" ---- - -import SDKReferenceCards from "@site/src/components/SDKReferenceCards"; - -Choosing the right Web3Auth product involves a careful analysis of what each option offers. Both our Plug and Play and Core-Kit solutions have unique -features and benefits tailored to meet specific project needs. - -:::warning Pre Planning Product Requirements - -This document helps you understand the differences between the products and helps you make the right choice for your project. This is a very important -step in the Web3Auth Integration process, please make sure you're making the right choice for your project. **We would recommend you to the SDKs in -the same stack of products within Web3Auth to minimize the migration efforts.** - -If you're considering using the Core Kit Multi Factor SDKs in the future and want a quick integration to start of, we recommend you to use the Single -Factor Auth SDKs right now and then move to the Multi Factor SDKs later. This will help you minimize the migration efforts from Plug and Play to Core -Kit. - -In a case, where you have already integrated Web3Auth Plug and Play SDKs and want to move to Core Kit, we recommend you to read our -[Troubleshooting Document around Key Migrations](/troubleshooting/different-private-key#migrating-between-sdks). - -::: - -## Plug and Play - -Web3Auth's **Plug and Play** is designed for efficiency and ease of use, offering predefined UI & UX flows and user-friendly SDKs. - -**Key Features:** - -- **Ease of Integration:** Requires only the initialization of the Web3Auth SDKs and the setup of necessary configurations. -- **Non Custodial:** By default, the SDKs are non-custodial, meaning that users have complete control over their wallets. -- **Pre Generated UX/UI Flows:** For ease of integration, this SDK offers predefined UI/UX flow, with full whitelabeling options. -- **Wallet Aggregator:** Allows you to integrate multiple existing wallets into your application, alongside social logins, to provide users with a - seamless login experience of their choice. -- **Platform Compatibility:** Available for Web, iOS, Android, React Native, Flutter, Unity and Unreal environments. - -## Core-Kit - -The **Core-Kit** provides a more hands-on approach. It allows developers to define and develop their authentication flows, with Web3Auth being -invisible to the end-user. - -**Key Features:** - -- **Customizable UI & UX:** Enables you to build and maintain your own UI & UX for login and MFA. -- **Owning the Infrastructure:** Enables you to own the wallet management and the authentication flow. -- **No Redirection:** Unlike PnP, for Core Kit the wallet management flows are not hosted on `app.openlogin.com`. This means that users will not be - redirected to a different domain for authentication. All the flows can happen within your application. -- **Platform Compatibility:** Available for Web, React Native, iOS and Android. - -## Comparison Table - -| | Plug and Play | Core-Kit | -| -------------------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -| **UI & UX** | Predefined login UX and UI, with whitelabeling options | Build and maintain your own UI & UX for login and MFA | -| **Recoverability** | Easier through `app.openlogin.com`, requires redirection for key management flows | Need to build flows for key recovery and management. Everything can happen within the application itself. | -| **Key Custodiality** | Non Custodial by design. | Integrating application determines the custodiality of the key for the user. All flows are available. | -| **Authentication** | Out of the box Auth, with options to bring your existing authentication and configuration | Auth setup to be maintained at your end, with the option to integrate existing authentication systems. | -| **Setup** | Easy and quick setup for projects going live quickly | Best suited for enterprises and builders seeking to customize the UX flow | -| **Platform Compatibility** | Available in Web, Mobile, and Gaming SDKs | Currently available for Web, React Native, iOS and Android | - - diff --git a/docs/product-fit/product-fit.mdx b/docs/product-fit/product-fit.mdx deleted file mode 100644 index af8fcd522..000000000 --- a/docs/product-fit/product-fit.mdx +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: Choosing the Correct Web3Auth Product -displayed_sidebar: docs -description: "Deciding your Product Fit | Documentation - Web3Auth" ---- - -Deciding on the right product for your needs can often be a critical part of ensuring the success of your launch. If you're considering Web3Auth or -[Torus Wallet](https://app.tor.us) for your project, the following qualifying questions will help you understand which of our products best fits your -requirements. - -:::info Schedule a demo - -[Schedule a Demo Call](https://calendly.com/web3auth/meeting-with-web3auth) with our team to discuss your project requirements and find out which -Web3Auth product is the best fit for you. - -::: - -Choosing the right Web3Auth product is key to a successful project launch. The following qualifying questions aim to guide you through the -decision-making process. They cater to diverse project requirements and explore various key considerations. By reflecting on these questions, you'll -be better equipped to make an informed decision that ensures your selected Web3Auth product aligns seamlessly with your needs, laying a solid -foundation for your project's success. - -We've divided the questions into the following categories: - -- [Basic Product Questions](#basic-product-questions) -- [UI/ UX Questions](#ui-ux-questions) -- [Infrastructure Questions](#infrastructure-questions) -- [SSS vs MPC Questions](#sss-vs-mpc-questions) - -## Basic Product Questions - -### What are you building? A dApp or a Wallet? - -- If you're building a Wallet, our Web3Auth Plug and Play SDKs can provide a quick and effective solution, although a better user experience for a - wallet might come from our Core Kit SDKs, where Web3Auth is hidden. You just need put in additional engineering efforts to build the UX flows. You - can switch between any of our SDKs in the future, however, it is important to consider you're choosing the right configuration for the future - migration to be easier. - - :::tip - - Read More about integrating [Web3Auth in Wallets](/product-fit/web3auth-for-wallets/). - - ::: - -- If you're building a dApp any of our products can be useful, however, with Web3Auth PnP or Core Kit Solutions, you would need to manage the UX Flows - and Interoperability yourself. Plug and Play can be quite useful as it contains some pre made flows to make the integration easier. Torus Wallet is - a great integration too, but it is an independent wallet, so any of the UX flows will not be in your control. - - :::tip - - Read More about integrating [Web3Auth in dApps](/product-fit/web3auth-for-dapps/). - - ::: - -### What chain are you building on? - -- The good news is that Web3Auth is chain agnostic. That means you can build on any chain you prefer. We support `SECP256K1` and `ED25519` keys curves - out of the box, and with private key manipulation, one can connect any chain. There are specialized providers for EVM, Solana and XRPL. -- Torus Wallet is currently only available for [EVM](https://app.tor.us), [Solana](https://solana.tor.us) and [XRPL](https://xrpl.tor.us). - -### What platform are you using? - -- Plug and Play SDKs support Web, Mobile (Android and iOS), Hybrid (React Native and Flutter) and Gaming (Unity and Unreal) environments. -- Core Kit SDKs support Web, Mobile (Android and iOS), and React Native environments. -- Torus Wallet is currently only available for Web. - -### What level of interoperability do you need? - -- For a fully interoperable flow, use the Torus wallet in your application. If interoperability is a plus but not a must, the WalletConnect - interoperability that comes with all of our SDKs will work perfectly. - -:::tip - -Explore [Web3Auth SDKs](/sdk/) - -::: - -## UI/ UX Questions - -### Do you require a prebuilt UI/UX for Login/MFA? - -- If you want a ready-made solution, use our Web3Auth Plug and Play SDKs. -- If you prefer to craft your own UI/UX for your users, the Web3Auth Core-Kit SDKs are the way to go. -- Torus Wallet offers a more user-controlled approach, where the access of the wallet goes out of our app's scope. This is because it is an - independent wallet itself using Web3Auth authentication. This may or may not be desirable depending on your user base. - -### Do you need auto-signing? - -- By auto-signing, we mean that the UX for approving the transaction is controlled by the application itself. This can only be done when the - application has access to the private key/ user signature. -- Both Plug and Play SDKs and Core-Kit SDKs feature auto signing, removing the need for your users to approve each transaction. -- Torus Wallet offers a more user-controlled approach, allowing users to view transaction details, which may or may not be desirable depending on your - user base. - -## Infrastructure Questions - -### Do you want to manage the MFA Infrastructure? - -- If you'd like to maintain ownership of the MFA Infrastructure, our Core-Kit SDKs are the best choice for you. - -### Do you want to manage the Login Infrastructure ie. use any existing Social Logins (e.g. Google, FB, etc…) , or a passwordless login of your own? - -- Both our Plug and Play and Core Kit SDKs allow you to manage your own Login Infrastructure. It is a feature called Custom Authentication in Plug and - Play SDKs and a requirement for Core Kit SDKs. - -### Do you want to customize the storage and threshold of the user key shares? - -- The Web3Auth Plug and Play SDK gives you the standard way of storing the user key shares. If you want to customise the storage of the user key - shares, you can use our Core Kit SDKs. -- With Core Kit SDKs, you can customize the threshold and the number of shares required to recover the user key. You can also customise the storage of - the user key shares. From Devices share storage to Social Recovery, QR backups, Email Backups, Database encrypted storage etc. you can choose the - flow you want to use. - -## SSS vs MPC Questions - -### Do you want the user key to be present in the application frontend? - -- If you're looking to keep the user key in the frontend, our traditional SDKs, powered by Shamir's Secret Sharing Scheme, can be a good choice for - you. -- If you prefer to keep the user's keys divided the whole time and only have a temporary sign generated when the user is signing, our new SDKs, - powered by the Threshold Signature Scheme, are the way to go. - -### Do you want to import keys from other wallets? - -- If you want to import keys from other wallets, you can use our Core Kit SDKs. -- The Core Kit SDKs have the option of key import, however, it has the trade off of key generation integrity. This is because to maintain non - custodiality, we make sure that key imported is encrypted by the Web3Auth generated key, and stored on the metadata server. It is not possible to - directly import a key and distribute into multiple parts within the Shamir Secret Sharing infrastructure. -- The best place to import keys can be the MPC Infrastructure. With the import key API in our MPC SDKs, it is possible to import upto 4 keys directly - into the MPC infrastructure. However, as you import multiple keys, the user interaction tends to become slower. - -### Do you want your user to be able export their key? - -- If you want your users to be able to export their key, you can any of our SDKs. -- With SSS based SDKs, the key is reconstructed on every login, so the user can export the key at any point of time. -- With MPC based SDKs, the key reconstruction never happens, hence the process of exporting the key is a bit more complex. Exports can be done via an - opensource external script that can be locally run. Alternatively we’re in the midst of developing a simple binary which could be operated to - combine the factors. - -:::info Schedule a demo - -Still confused? Feel free to [schedule a demo call](https://calendly.com/web3auth/meeting-with-web3auth) with our team to discuss your project -requirements and find out which Web3Auth product is the best fit for you. - -::: diff --git a/docs/product-fit/web3auth-for-dapps.mdx b/docs/product-fit/web3auth-for-dapps.mdx deleted file mode 100644 index aae84f938..000000000 --- a/docs/product-fit/web3auth-for-dapps.mdx +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Web3Auth for dApps -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Web3Auth for dApp | Documentation - Web3Auth" ---- - -import Image1 from "@site/static/guides/web3auth-architecture.png"; - -As a decentralised application, if you're looking for more customised flows for your application, Web3Auth is the way for you to go. While using a -wallet might be the easiest way for you to handle blockchain transactions, it comes with a cost of sacrificing the control of the user flow and -trusting them with the understanding of how to make a blockchain transaction. This also comes with a cost of losing users to the complex terminologies -and flows, that can be easily avoided if you're customising flows according to your needs. - -Hence using a wallet infrastructure like Web3Auth can be a huge boon for you to build a customised user flow. It is important to note that Web3Auth is -not a wallet, it is wallet infrastructure that is plugged into any applications. Web3Auth results in a standard cryptographic key provider specific to -the user and application. While using Web3Auth, you have the flexibility of creating your own wallet within your application or using one of our pre -existing adapters, that can handle the complexity of linking your application to a wallet. - -## Using Web3Auth to build your dApp - -A wallet is basically a wrapper around a user's private key. It is an app that allows users to interact with the blockchain. By using Web3Auth, your -own application is in terms becoming a pseudo wallet. This is because you're doing all the transactions for the users by directly calling Web3Auth -functions and not any other wallet. This has the following advantages: - -1. The dApp owns the whole experience, with minimal external branding. You can even surpass that (have **zero Web3Auth Branding**) if you use - [Web3Auth Core Kit](/core-kit/introduction). -2. You're even able to use your own OAuth 2.0 / Single Sign-On or any other flow for validating your user. You just need to provide Web3Auth with a - JWT `id_token` and it will handle the key generation for you. -3. First-time users don't need the mental overhead of understanding the concept of a "wallet" to use your application. Just a standard Web2 login, - they're onboarded using Web3Auth! -4. You can create your application for any chain, depending on your needs. Web3Auth generates the private key that can be used for any chain. -5. You can have users interact with their wallet and make transactions within your application, making the whole experience more seamless and specific - to your app. -6. You can use the variety of interoperability flows provided by Web3Auth to make your application's private key more accessible to users. - -Although being the best experience for your users, building your own wallet comes with some hurdles. Generally, linking it to other dApps/apps is a -bit harder. To help you along the way, we have multiple solutions, such as natively integrated -[`wallet-connect`](/sdk/pnp/web/adapters/wallet-connect-v1), [`torus-wallet-connector-plugin`](/sdk/helper-sdks/plugins/evm-wallet), and other -Web3Auth [interoperability](/pnp/features/interoperability) features. - -## Using Web3Auth with other Wallets via Adapters - -In the Web SDK, we have adapters, which are essentially connectors between Web3Auth and the underlying wallet provider. For example, an adapter for -connecting with torus wallet is available under web3auth as `@web3auth/torus-evm-adapter`. Each adapter exposes provider on a successful user login -that can be used to invoke the RPC calls on wallet and connected blockchain. - -Additionally, you can get Web3Auth to securely expose the private key of the user to your application's frontend. Using the private key, you can use -the wallet of your choice to make the further transactions within your application. - -##### This diagram below, describes the relationship between the Web3Auth SDK and integrating application - -This diagram describes the relationship between the Web3Auth SDK and integrating application diff --git a/docs/product-fit/web3auth-for-wallets.mdx b/docs/product-fit/web3auth-for-wallets.mdx deleted file mode 100644 index 64a214e9f..000000000 --- a/docs/product-fit/web3auth-for-wallets.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Web3Auth for Wallets -image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs -description: "Web3Auth for Wallets | Documentation - Web3Auth" ---- - -import Image1 from "@site/static/guides/web3auth-architecture.png"; - -One of the most important use cases of Web3Auth is to integrate it within wallets. This is because Web3Auth itself is not a wallet, it is wallet -infrastructure that can be plugged into your own wallet. Web3Auth results in a standard cryptographic key provider specific to the user and -application. This key provider can be used to sign transactions, messages, or making any other wallet transaction. - -## Using Web3Auth to build your Wallet - -A wallet is basically a wrapper around the user's private key, helping them manage their account on a much better level. With Web3Auth, you can make -the UI flows according to your own needs and requirements, while not thinking about the key generation and management part. Web3Auth will take care of -that for you. You can even save additional private keys safely within your application with Web3Auth. - -Using Web3Auth for your own wallet flows has the following advantages: - -1. The wallet owns the whole experience, with minimal external branding. You can even surpass that (have **zero Web3Auth Branding**) if you use - [Web3Auth Core Kit](/core-kit/introduction). -2. You're even able to use your own OAuth 2.0 / Single Sign-On or any other flow for validating your user. You just need to provide Web3Auth with a - JWT `id_token` and it will handle the key generation for you. -3. You can create your wallet for any chain, depending on your needs. Web3Auth generates the private key that can be used for any chain. -4. You can even use Web3Auth to create an HDKey and generate multiple sub accounts for your users. This is useful for wallets that support multiple - accounts. -5. You can choose a platform of your choice. Web3Auth SDKs are available for most mobile, web and gaming platforms. - -Additionally, you can get Web3Auth to securely expose the private key of the user to your application's frontend. Using the private key, you can use -the blockchain of your choice to make the further transactions within your wallet flows. You can even store additional private key a user might have -safely within your database, by substracting the difference between the user's private key and the one generated by Web3Auth, making it a secure and -non custodial private key store as well. - -**This diagram below, describes the relationship between the Web3Auth SDK and integrating wallet:** - -This diagram describes the relationship between the Web3Auth SDK and integrating wallet diff --git a/docs/product/core-kit.mdx b/docs/product/core-kit.mdx new file mode 100644 index 000000000..1f96c7649 --- /dev/null +++ b/docs/product/core-kit.mdx @@ -0,0 +1,83 @@ +--- +title: Core Kit Integrated Wallet SDKs +sidebar_label: Core Kit +displayed_sidebar: docs +description: "Core Kit | Documentation - Web3Auth" +--- + +import { corekitmfamobile, corekitmfaweb, corekitsfabackend, corekitsfamobile, corekitsfaweb } from "@site/src/components/SDKReferenceCards"; + +The **Core-Kit Wallet Management SDKs** cater towards a more hands-on, customizable approach while creating your own experience toward user +onboarding. Tailored for developers who prioritize direct control and customization over their authentication flows, the Core-Kit allows for the +creation of sophisticated, user-centric authentication processes, where Web3Auth operates seamlessly in the background, invisible to the end user. + +## Key Features + +- **Customizable UI & UX:** Empowers developers to design and implement their own user interfaces and experiences for login and multi-factor + authentication (MFA), ensuring a seamless and cohesive brand presentation. + +- **Owning the Infrastructure:** Provides the flexibility for developers to fully control the wallet management and authentication flows, aligning + with specific project requirements and enhancing security. + +- **No Redirection:** Distinguishes itself from the Plug and Play model by eliminating the need for user redirection to `auth.web3auth.io` for + authentication. This integration ensures all authentication flows are contained within your application, offering a more integrated and + uninterrupted user experience. + +- **Platform Compatibility:** Maintains broad support across major platforms, including Web, React Native, iOS, and Android, ensuring developers can + leverage Core Kit's capabilities regardless of the target environment. + +Core Kit is meticulously segmented into two distinct parts: **Single Factor Authentication (SFA)** and **Multi-Factor Authentication (MFA)**, each +designed to cater to varying levels of security and user interaction preferences within your application framework. While SFA offers a streamlined +onboarding process, MFA introduces a more robust security mechanism by employing a 2 out of 3 (2/3) Key Share setup, enhancing the authentication's +non-custodial nature. + +## Single Factor Authentication (SFA) + +The SFA SDKs provide the most streamlined process for user onboarding within the Web3Auth ecosystem. This straightforward approach allows users to +quickly gain access by simply clicking on the login button and connecting to their preferred social account through OAuth, or opting for a +passwordless flow such as email-passwordless or biometric authentication. Upon successful authentication, a private key is generated and securely +delivered to your application, reconstructed within its environment. + +This process employs a 1/1 Key Share setup, where the complete key, facilitated by the Web3Auth Auth Network's key shares, is directly integrated into +your application. Despite its simplicity, this flow adheres to non-custodial principles, thanks to the Web3Auth network's 5/9 consensus mechanism for +generating key shares. However, it's worth noting that, due to the reliance on OAuth provider credentials for key generation, this method could be +considered semi-custodial. + +To enhance security and ensure a fully non-custodial experience, it's recommended that users activate MFA. This additional layer introduces a 2/3 Key +Share setup, solidifying the authentication process's non-custodial nature and offering an elevated level of security and control to the user. + +## Multi-Factor Authentication (MFA) + +The MFA component of the Core Kit is designed for heightened security and user control. In this 2/3 setup, users are endowed with three key shares: +ShareA, ShareB, and ShareC, each serving a distinct role in the authentication process: + +- **ShareA:** This share is managed and distributed within Web3Auth's Auth Network. Users can access this share through an OAuth login provider that + they own, such as a Google account. This ensures that one of the key components of their authentication is tied to a familiar and secure service. + +- **ShareB:** Designed to reside directly on the user's device, ShareB's storage method is inherently tied to the device and operating system's + capabilities. For example, on mobile devices, this share might be secured in device storage protected by biometric authentication, providing both + convenience and security. + +- **ShareC:** Acting as a recovery share, ShareC offers an additional layer of security. Users can choose to store this share on a different device, + download it for offline keeping, or even base it on user input such as a password, security questions, or even a physical hardware device. + +To access their wallet, users must demonstrate ownership of at least two of these three shares, akin to traditional Two-Factor Authentication (2FA) +systems. This requirement ensures a robust security framework, significantly mitigating the risk of unauthorized access while still offering +flexibility and recovery options for the user. + +The Core-Kit Wallet Management SDKs are designed for projects that require a tailored approach to authentication, providing the tools and flexibility +necessary to build advanced, secure, and integrated authentication systems. This approach not only enhances the user experience by keeping all +interactions within the native application environment but also gives developers the unprecedented ability to mold and adapt the authentication +process to meet the exact needs of their user base. + +## Web3Auth Core Kit SFA SDKs + +--- + +{ corekitsfaweb } { corekitsfamobile } { corekitsfabackend } + +## Web3Auth Core Kit MFA SDKs + +--- + +{ corekitmfaweb } { corekitmfamobile } diff --git a/docs/product/pnp.mdx b/docs/product/pnp.mdx new file mode 100644 index 000000000..1b8ed4c81 --- /dev/null +++ b/docs/product/pnp.mdx @@ -0,0 +1,62 @@ +--- +title: Plug and Play Embedded Wallet SDKs +sidebar_label: Plug and Play +displayed_sidebar: docs +description: "Plug and Play | Documentation - Web3Auth" +--- + +import ModalAnim from "@site/src/components/ModalAnim"; +import { pnpweb, pnpmobile, pnpgaming } from "@site/src/components/SDKReferenceCards"; + +Web3Auth's Plug and Play (PnP) SDKs are engineered to redefine the key management integration for wallets and dApps, focusing on efficiency, user +convenience, and security. These SDKs are not just tools for facilitating blockchain transactions but are embedded wallet solutions designed to merge +seamlessly into your application, offering a robust framework for user authentication and wallet management. + +The PnP Integration is generally a 10-minute integration process and is designed to be a non-custodial solution by default. It offers a predefined +UI/UX flow, with full white-labeling options, and is available for all major platforms. This helps you to focus on your core product, while we take +care of the wallet management and user authentication. + + + +## Key Features + +- **Ease of Integration:** Simplify your project's blockchain functionality integration with minimal setup effort, offering a plug-and-play solution. + +- **Non-Custodial:** Prioritize user privacy and control with secure, non-custodial wallets by default. These wallets are managed by an MPC wallet + management system, ensuring the highest level of security. + +- **Versatile Sign-in Options & Passwordless Registration:** Offer users a wide range of sign-in methods, including OAuth providers like Google, + Twitter, GitHub, and passwordless registrations including SMS, Passkeys and more. You can even choose to extend your own authentication system to + Web3Auth, enhancing the user sign-in experience. + +- **Predefined UX/UI Flows:** Benefit from ready-made UI/UX designs with full white-labeling capabilities for seamless brand integration. + +- **Effortless Wallet Recovery:** Implement multiple-factor authentication methods for reliable wallet recovery, giving users peace of mind regarding + their assets' safety. + +- **Wallet Aggregator:** Enable users to choose their preferred authentication method from various wallet options, including social logins. + +- **Platform Compatibility:** Ensure your application's accessibility across a wide audience base with support for Web, iOS, Android, React Native, + Flutter, Unity, and Unreal. + +Web3Auth's Plug and Play SDKs present a robust solution for developers aiming to incorporate embedded wallets with a focus on security, user +experience, and ease of integration. Through its MPC-based key management and customizable features, it establishes a new standard for dApp +development. + +## Web3Auth Plug and Play Web SDKs + +--- + +{ pnpweb } + +## Web3Auth Plug and Play Mobile SDKs + +--- + +{ pnpmobile } + +## Web3Auth Plug and Play Gaming SDKs + +--- + +{ pnpgaming } diff --git a/docs/product/product-fit.mdx b/docs/product/product-fit.mdx new file mode 100644 index 000000000..595a53e56 --- /dev/null +++ b/docs/product/product-fit.mdx @@ -0,0 +1,214 @@ +--- +title: Choosing the Correct Web3Auth Product +displayed_sidebar: docs +description: "Deciding your Product Fit | Documentation - Web3Auth" +--- + +Deciding on the right product for your needs can often be a critical part of ensuring the success of +your launch. If you're considering Web3Auth for your project, the following qualifying questions +will help you understand which of our products best fits your requirements. + +Choosing the right Web3Auth product involves a careful analysis of what each option offers. + +:::warning Pre Planning Product Requirements + +This document helps you understand the differences between the products and helps you make the right +choice for your project. This is a very important step in the Web3Auth Integration process, please +make sure you're making the right choice for your project. **We would recommend you to the SDKs in +the same stack of products within Web3Auth to minimize the migration efforts.** + +::: + +## Choosing the Right SDK + +- **Plug and Play SDKs** are designed for quick, easy integration, offering a predefined UI/UX + suitable for projects with speed as a priority. + +- **Core-Kit SDKs** provide a customizable and hands-on approach for developers who want full + control over the UI/UX and authentication flows, ideal for enterprises and in-depth + customizations. + +- **Wallet Ecosystems** offer a blend of integration ease and ecosystem-specific advantages, perfect + for projects looking to integrate closely with existing wallet platforms and their communities. + +:::tip + +If you're considering using the **Core Kit Multi Factor Auth SDKs** in the future and want a quick +integration to start off, we recommend you use the Single Factor Auth SDKs right now and then move +to the Multi Factor Auth SDKs later. This will help you minimize the migration efforts from Plug and +Play to Core Kit. + +In a case, where you have already integrated Web3Auth Plug and Play SDKs and want to move to Core +Kit, we recommend you read our +[Troubleshooting Document around Key Migrations](/troubleshooting/different-private-key#migrating-between-sdks). + +::: + +## Comparison Table + +| | Plug and Play | Core-Kit | Wallet Ecosystems | +| -------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | +| **UI & UX** | Predefined login UX and UI, with white-labeling options | Build and maintain your own UI & UX for login and MFA | Tailored integration with specific Wallet Ecosystems, leveraging their UI/UX | +| **Recoverability** | Easier through `auth.web3auth.io`, requires redirection for key management flows | Build flows for key recovery and management within the application | Dependent on the specific Wallet Ecosystem's protocols and tools | +| **Key Custodiality** | Non-Custodial by design | Integrating application determines the custodiality of the key | Dependent on the ecosystem experience, generally fully non-custodial. | +| **Authentication** | Out-of-the-box Auth, with options to integrate existing authentication | Auth setup to be maintained at your end, with integration options for existing systems | Utilizes the authentication mechanisms of the chosen Wallet Ecosystem | +| **Setup** | Quick and easy setup for projects aiming for rapid launch | Suited for enterprises and builders desiring customizable UX flow | Integration complexity varies by Wallet Ecosystem and desired customization level | +| **Platform Compatibility** | Available for all major Web, Mobile, and Gaming platforms | Available for Web, React Native, iOS, and Android | Dependent on the Wallet Ecosystem's support and integration capabilities | +| **Wallet Services** | Available across all SDKs. | Will be available soon across all SDKs | Available across all SDKs, with additional features specific to the Wallet Ecosystem | + +:::info Schedule a demo + +[Schedule a Demo Call](https://calendly.com/web3auth/meeting-with-web3auth) with our team to discuss +your project requirements and find out which Web3Auth product is the best fit for you. + +::: + +Choosing the right Web3Auth product is key to a successful project launch. The following qualifying +questions aim to guide you through the decision-making process. They cater to diverse project +requirements and explore various key considerations. By reflecting on these questions, you'll be +better equipped to make an informed decision that ensures your selected Web3Auth product aligns +seamlessly with your needs, laying a solid foundation for your project's success. + +We've divided the questions into the following categories: + +- [Basic Product Questions](#basic-product-questionaire) +- [UI/ UX Questions](#ui-ux-questions) +- [Infrastructure Questions](#infrastructure-questions) +- [SSS vs MPC Questions](#sss-vs-mpc-questions) + +## Basic Product Questionaire + +### What are you building? A dApp or a Wallet? + +- If you're building a Wallet, our Web3Auth Plug and Play SDKs can provide a quick and effective + solution, although a better user experience for a wallet might come from our Core Kit SDKs, where + Web3Auth is hidden. You just need to put in additional engineering efforts to build the UX flows. + You can switch between any of our SDKs in the future, however, it is important to consider you're + choosing the right configuration for the future migration to be easier. + + :::tip + + Read More about integrating [Web3Auth in Wallets](/product/#web3auth-for-wallets). + + ::: + +- If you're building a dApp any of our products can be useful, however, with Web3Auth PnP or Core + Kit Solutions, you would need to manage the UX Flows and Interoperability yourself. Plug and Play + can be quite useful as it contains some pre-made flows to make the integration easier. Torus + Wallet is a great integration too, but it is an independent wallet, so any of the UX flows will + not be in your control. + + :::tip + + Read More about integrating [Web3Auth in dApps](/product/#web3auth-for-dapps). + + ::: + +### What chain are you building on? + +- The good news is that Web3Auth is chain agnostic. That means you can build on any chain you + prefer. We support `SECP256K1` and `ED25519` key curves out of the box, and with private key + manipulation, one can connect any chain. There are specialized providers for EVM, Solana and XRPL. +- Wallet Ecosystems are available across specific chains, please read across their particular + integrations. + +### What platform are you using? + +- Plug and Play SDKs support Web, Mobile (Android and iOS), Hybrid (React Native and Flutter) and + Gaming (Unity and Unreal) environments. +- Core Kit SDKs support Web, Mobile (Android and iOS), and React Native environments. +- Wallet Ecosystems differ based on the specific Wallet Ecosystem's support and integration + capabilities. + +### What level of interoperability do you need? + +- For a fully interoperable flow, use Wallet Ecosystems products which give you exception + interoperability features across their own ecosystem and your dApp. + +- Using Wallet Services, you can have your own PnP or Core Kit integration fully interoperable using + Wallet Connect or any Wallet Ecosystem as well. use the Torus wallet in your application. + +## UI/ UX Questions + +### Do you require a prebuilt UI/UX for Login/MFA? + +- If you want a ready-made solution, use our Web3Auth Plug and Play SDKs. +- If you prefer to craft your own UI/UX for your users, the Web3Auth Core-Kit SDKs are the way to + go. +- Wallet Ecosystems offer a tailored integration with specific Wallet Ecosystems, leveraging their + UI/UX. + +### Do you need auto-signing? + +- By auto-signing, we mean that the UX for approving the transaction is controlled by the + application itself. This can only be done when the application has access to the private key/ user + signature. +- Both Plug and Play SDKs and Core-Kit SDKs feature auto signing, removing the need for your users + to approve each transaction. +- Wallet Ecosystems do not support auto-signing, as the user has to approve the transaction in the + wallet itself. + +## Infrastructure Questions + +### Do you want to manage the MFA Infrastructure? + +- If you'd like to maintain ownership of the MFA Infrastructure, our Core-Kit SDKs are the best + choice for you. + +### Do you want to manage the Login Infrastructure ie. use any existing Social Logins (e.g. Google, FB, etc…), or a passwordless login of your own? + +- Both our Plug and Play and Core Kit SDKs allow you to manage your own Login Infrastructure. It is + a feature called Custom Authentication in Plug and Play SDKs and a requirement for Core Kit SDKs. +- Wallet Ecosystems do not support managing the login infrastructure, as they rely on the Wallet + Ecosystem's authentication mechanisms. + +### Do you want to customize the storage and threshold of the user key shares? + +- The Web3Auth Plug and Play SDK gives you the standard way of storing the user key shares. If you + want to customize the storage of the user key shares, you can use our Core Kit SDKs. +- With Core Kit SDKs, you can customize the threshold and the number of shares required to recover + the user key. You can also customize the storage of the user key shares. From Device share storage + to Social Recovery, QR backups, Email Backups, Database encrypted storage etc. you can choose the + flow you want to use. +- Wallet Ecosystems do not support customizing the storage and threshold of the user key shares, as + they rely on the Wallet Ecosystem's protocols and tools. + +## SSS vs MPC Questions + +### Do you want the user key to be present on the application frontend? + +- If you're looking to keep the user key in the frontend, our traditional SDKs, powered by Shamir's + Secret Sharing Scheme, can be a good choice for you. +- If you prefer to keep the user's keys divided the whole time and only have a temporary sign + generated when the user is signing, our new SDKs, powered by the Threshold Signature Scheme, are + the way to go. + +### Do you want to import keys from other wallets? + +- If you want to import keys from other wallets, you can use our Core Kit SDKs. +- The Core Kit SDKs have the option of key import, however, it has the trade-off of key generation + integrity. This is because to maintain noncustodiality, we make sure that the key imported is + encrypted by the Web3Auth generated key, and stored on the metadata server. It is not possible to + directly import a key and distribute it into multiple parts within the Shamir Secret Sharing + infrastructure. +- The best place to import keys can be the MPC Infrastructure. With the import key API in our MPC + SDKs, it is possible to import up to 4 keys directly into the MPC infrastructure. However, as you + import multiple keys, the user interaction tends to become slower. + +### Do you want your user to be able to export their key? + +- If you want your users to be able to export their key, you can any of our SDKs. +- With SSS-based SDKs, the key is reconstructed on every login, so the user can export the key at + any point in time. +- With MPC-based SDKs, the key reconstruction never happens, hence the process of exporting the key + is a bit more complex. Exports can be done via an open-source external script that can be locally + run. Alternatively, we’re in the midst of developing a simple binary that could be operated to + combine the factors. + +:::info Schedule a demo + +Still confused? Feel free to +[schedule a demo call](https://calendly.com/web3auth/meeting-with-web3auth) with our team to discuss +your project requirements and find out which Web3Auth product is the best fit for you. + +::: diff --git a/docs/product/product.mdx b/docs/product/product.mdx new file mode 100644 index 000000000..4627213d3 --- /dev/null +++ b/docs/product/product.mdx @@ -0,0 +1,80 @@ +--- +title: Explore our Products +image: "images/docs-meta-cards/documentation-card.png" +displayed_sidebar: docs +description: "Web3Auth Product Stack | Documentation - Web3Auth" +--- + +import ProductCards from "@site/src/components/ProductCards"; +import Image1 from "@site/static/guides/web3auth-architecture.png"; + +Our extensive product suite covers everything from pre-onboarding to post-onboarding and +authentication, enabling you to craft a seamless end-to-end experience for your Web3 dApp/ Wallet. + + + +## Web3Auth for Wallets + +One of the most important use cases of Web3Auth is to integrate it within wallets. This is because +Web3Auth itself is not a wallet, it is wallet infrastructure that can be plugged into your own +wallet. Web3Auth results in a standard cryptographic key provider specific to the user and +application. This key provider can be used to sign transactions, and messages, or make any other +wallet transaction. + +A wallet is a wrapper around the user's private key, helping them manage their account on a much +better level. With Web3Auth, you can make the UI flow according to your own needs and requirements, +while not thinking about the key generation and management part. Web3Auth will take care of that for +you. You can even save additional private keys safely within your application with Web3Auth. + +### Advantages of using Web3Auth Wallet Key Management + +1. The wallet owns the whole experience, with minimal external branding. You can even surpass that + (have **zero Web3Auth Branding**) if you use [**Web3Auth Core Kit**](/product/core-kit). +2. Ability to use your **own OAuth 2.0 / Single Sign-On** or any other flow for validating your + user. You just need to provide Web3Auth with a JWT `id_token` and it will handle the key + generation for you. +3. Create your wallet for **any chain**, depending on your needs. Web3Auth generates the private key + that can be used for any chain. +4. Add security and key recoverability features like **MPC**, **Account Abstraction**, and more to + your wallet, natively. +5. You can choose a platform of your choice. Web3Auth SDKs are available for most mobile, web and + gaming platforms. + +## Web3Auth for dApps + +As a decentralized application, if you're looking for more customized flows for your application, +Web3Auth is the way for you to go. While using a wallet might be the easiest way for you to handle +blockchain transactions, it comes with the cost of sacrificing the control of the user flow and +trusting them with the understanding of how to make a blockchain transaction. This also comes with +the cost of losing users to complex terminologies and flows, which can be easily avoided if you're +customizing flows according to your needs. While using Web3Auth, you have the flexibility of +creating your embedded wallet within your application or using one of our **Wallet Ecosystems** that +can handle the complexity of linking your application to a wallet. + +1. The dApp owns the whole experience, with minimal external branding. You can even surpass that + (have **zero Web3Auth Branding**) if you use [**Web3Auth Core Kit**](/product/core-kit). +2. First-time users don't need the mental overhead of understanding the concept of a "wallet" to use + your application. Just a standard Web2 login, they're onboarded using Web3Auth. +3. Quick integrations with **Wallet Ecosystems**, like **SafeAuth**, **Mocaverse**, **Torus + Wallets**, and more. +4. **Embedded Wallets** within your application, with the ability to use your own OAuth 2.0 / Single + Sign-On or any other flow for validating your user. +5. You can create your application for **any chain**, depending on your needs. Web3Auth generates + the private key that can be used for any chain. +6. You can have users interact with their wallet and make transactions within your application, + making the **whole experience more seamless and specific to your app**. +7. You can use the variety of **interoperability** flows provided by Web3Auth to make your + application's private key more accessible to users. + +## Relationship between Web3Auth SDK and Integrating dApp/ Wallet + +When a user logs in with a login provider like Google, it sends a JWT id_token to the app. This JWT +token is sent to the Web3Auth SDK's login function. The Web3Auth SDK will then validate the JWT +token with the set parameters in the Web3Auth Dashboard and accordingly generate a private key, in a +self-custodial way, resulting in easy onboarding for your user to the application. + +This diagram describes the relationship between the Web3Auth SDK and integrating wallet diff --git a/docs/product/wallet-ecosystems.mdx b/docs/product/wallet-ecosystems.mdx new file mode 100644 index 000000000..fd79222d8 --- /dev/null +++ b/docs/product/wallet-ecosystems.mdx @@ -0,0 +1,98 @@ +--- +title: Web3Auth Wallet Ecosystems +sidebar_label: Wallet Ecosystems +displayed_sidebar: docs +description: "Web3Auth Wallet Ecosystems Offerings | Documentation - Web3Auth" +--- + +import WalletEcosystemsDescription from "@site/src/common/docs/wallet-ecosystems/_wallet-ecosystems-description.mdx"; +import SafeAuthDescription from "@site/src/common/docs/wallet-ecosystems/_safeauth-description.mdx"; +import MocaverseDescription from "@site/src/common/docs/wallet-ecosystems/_mocaverse-description.mdx"; +import TorusWalletDescription from "@site/src/common/docs/wallet-ecosystems/_torus-wallet-description.mdx"; +import SolanaTorusWalletDescription from "@site/src/common/docs/wallet-ecosystems/_solana-torus-wallet-description.mdx"; +import XrplTorusWalletDescription from "@site/src/common/docs/wallet-ecosystems/_xrpl-torus-wallet-description.mdx"; +import { safeauthkit, mocaverse, toruswallets } from "@site/src/components/SDKReferenceCards"; + + + +## SafeAuth Kit + + + +{ safeauthkit } + +## Mocaverse ID + + + +{ mocaverse } + +## Torus Wallets + +### EVM Torus Wallet + + + +### Solana Torus Wallet + + + +### XRPL Torus Wallet + + + +{ toruswallets } + +## Create your own Wallet Ecosystem + +Leverage the comprehensive wallet services offered by Web3Auth to craft a bespoke wallet ecosystem embedded directly within your application. This +approach not only grants you the autonomy to maintain your unique wallet system but also ensures that all the robust features of Web3Auth are +seamlessly integrated, offering your users a sophisticated and user-friendly experience. + +### Enterprise Whitelabeled Wallets + +With the Web3Auth Enterprise plan, the possibilities expand further, allowing for a deeper level of customization and branding. You can have a chat +with our team to get a better understanding of the possibilities and how we can help you achieve your goals. Some examples include: + +- **Clone Torus Wallet:** Customize and launch your version of the Torus Wallet, tailored specifically to your platform's needs and user expectations. +- **Fork Web3Auth Plug and Play Embedded Wallet:** Create a unique iteration of the Web3Auth embedded wallet, fully integrated and optimized for your + application's ecosystem. +- **Web3Auth React Native Whitelabelled Wallet:** Deploy a comprehensive mobile solution that ensures a consistent and branded user experience across + all devices, with flexibility and performance optimized for mobile users. A live demonstration of this wallet's capabilities and user interface can + be explored [here](https://www.youtube.com/watch?v=Si8R2IVZHhM), providing insight into its functionality and design. + +This customizable framework empowers you to establish a wallet ecosystem that not only meets the specific demands of your application but also aligns +with your branding, providing a cohesive and engaging user experience. + +:::info Schedule a Demo + +[Click here](https://calendly.com/web3auth/meeting-with-web3auth) to initiate discussions or send us an email at our +[business support email](mailto:support@web3auth.io). + +::: + +#### Real-World Applications + +- **fox.web3auth.com**: Fox Corporation leverages a dedicated infrastructure via our Web3Auth Plug and Play. + +- **Trust Wallet Extension**: Built on the foundation of Web3Auth MPC with development directed by our expert team. + +#### Advantages of the Enterprise WhiteLabelled Wallet: + +- **Web3Auth Infrastructure Ownership**: Command key aspects of the infrastructure to guarantee optimal customization and security. + +- **Custom UI/UX Flows**: Construct unique user pathways with our specialized assistance, ensuring a perfect alignment with your audience and + objectives. + +- **Swift Development**: Bypass the initial phases of wallet creation and dive directly into refining and customization, significantly reducing your + go-to-market time. + +- **Economical**: Allocate saved resources and capital to bolster your offerings or diversify into new initiatives. + +- **User-Friendly Customization**: Seamlessly modify the existing framework to mirror your brand identity and provide a unified experience. + +- **Rich in Features**: With varied authentication methods from phone numbers to social logins and support for multi-chain operations, users are + assured a comprehensive, seamless experience. + +- **Licensing Benefits**: The associated fee becomes a judicious investment, given the time, funds, and potential for rapid market introduction that + you save.../../src/common/docs/\_safeauth-description.mdx diff --git a/docs/product/wallet-services.mdx b/docs/product/wallet-services.mdx new file mode 100644 index 000000000..ef52b415d --- /dev/null +++ b/docs/product/wallet-services.mdx @@ -0,0 +1,77 @@ +--- +title: Wallet Services +sidebar_label: Wallet Services +displayed_sidebar: docs +description: "Wallet Services | Documentation - Web3Auth" +--- + +import { walletservices } from "@site/src/components/SDKReferenceCards"; + +Web3Auth Wallet Services offer modular, pluggable enhancements for your Web3Auth-integrated wallet, designed to elevate both functionality and user +experience within your application. These services facilitate seamless integration, providing a comprehensive set of features without necessitating +additional UI development. From sophisticated wallet functionality to user engagement tools and efficient transaction management, Web3Auth Wallet +Services are tailored to meet the needs of modern-day dApp experiences. + +## Embedded Wallet UI + +The Embedded Wallet UI service delivers a full-fledged wallet experience directly within your application, covering everything from balance and wallet +status to showcasing tokens/NFTs and managing transactions. This all-in-one solution ensures adaptability and coherence, offering users a consistent +and intuitive interface for all their wallet needs. + +#### Key Benefits + +- **Seamless Integration:** Effortlessly embeds within your application, offering a unified user experience. +- **Comprehensive Management:** Facilitates end-to-end wallet management, including balance inquiries, transaction histories, and digital asset + displays. +- **No Additional UI Development:** Minimizes development efforts by providing a pre-designed wallet interface. +- **Customizable:** Tailor the wallet UI to match your application's branding and design. + +## Fiat On-Ramp Aggregator + +With over 100 integrated payment methods, our Fiat On-Ramp solution streamlines the process of converting fiat to crypto, featuring a simple one-line +integration. This service not only provides access to localized currencies but also offers transaction fees up to 70% lower than conventional methods, +promoting global accessibility and affordability. + +#### Features + +- **Diverse Payment Options:** Broad payment method support caters to a wide user base. +- **Reduced Fees:** Lower transaction fees make crypto more accessible and economical for users. +- **Global Currency Support:** Localized currency integration ensures a seamless user experience worldwide. + +## Pre generated Wallets + +Enhance user engagement and loyalty with pregenerated wallets, allowing for straightforward airdrops of tokens or NFTs directly to users’ emails or +social accounts. This feature not only simplifies the onboarding process but also integrates rewards directly into the user experience, fostering +increased participation and retention. + +#### Advantages + +- **Enhanced User Engagement:** Integrate rewards and loyalty programs to boost user retention. +- **Effortless Airdrop Process:** Direct token or NFT distribution streamlines engagement efforts. +- **Simplified Onboarding:** Pregenerated wallets facilitate an easy start, encouraging broader user adoption. + +## Interoperability + +Web3Auth Wallet Services prioritizes interoperability with [Web3Auth Wallet Ecosystems](/docs/product/wallet-ecosystems) and WalletConnect, ensuring +that your application can seamlessly interact with a wide range of blockchain networks and services. This commitment to interoperability extends your +application's reach and functionality, facilitating versatile blockchain interactions and transactions. + +## NFT Checkout + +Our NFT Checkout feature revolutionizes the way NFTs are purchased, allowing direct sales through fiat transactions. This simplifies the buying +process for users, making it easier than ever to acquire NFTs without navigating complex crypto transactions, thus opening up new revenue streams for +creators and platforms. + +#### Highlight + +- **Simplified NFT Purchases:** Enable users to buy NFTs directly with fiat, enhancing accessibility and user experience. + +Web3Auth Wallet Services redefine the landscape of decentralized application development, offering an integrated suite of features that streamline +integration, bolster user engagement, and provide a comprehensive range of wallet management tools, setting a new benchmark for functionality within +the crypto space. + +## Integrate Wallet Services within your Web3Auth Wallet + +--- + +{ walletservices } diff --git a/docs/resources.mdx b/docs/resources.mdx new file mode 100644 index 000000000..4a3feac23 --- /dev/null +++ b/docs/resources.mdx @@ -0,0 +1,20 @@ +--- +title: Resources +sidebar_label: Introduction +image: "images/docs-meta-cards/documentation-card.png" +displayed_sidebar: resources +description: "Resources | Documentation - Web3Auth" +hide_table_of_contents: true +--- + +import ResourcesCards from "@site/src/components/ResourcesCards"; +import HelpCards from "@site/src/components/HelpCards"; + +Our comprehensive array of guides, reference materials, and examples is designed to assist you at every step of your Web3Auth integration. Explore the +nuances of web3 authentication and craft a tailored integration that meets your specific needs. + + + +## Need Help? + + diff --git a/docs/sdk/core-kit/mpc-core-kit/authentication.mdx b/docs/sdk/core-kit/mpc-core-kit/authentication.mdx index 85f2d862c..b4f5557f1 100644 --- a/docs/sdk/core-kit/mpc-core-kit/authentication.mdx +++ b/docs/sdk/core-kit/mpc-core-kit/authentication.mdx @@ -29,7 +29,7 @@ For enabling this, you need [Create a Verifier](/auth-provider-setup/verifiers) :::tip If you want to know more about setting up a verifier and how to use it, please refer to the -[Custom Authentication Documentation](/pnp/features/custom-authentication). +[Custom Authentication Documentation](/features/custom-authentication). ::: diff --git a/docs/sdk/core-kit/mpc-core-kit/mpc-core-kit.mdx b/docs/sdk/core-kit/mpc-core-kit/mpc-core-kit.mdx index bf6cc9ad4..9360ccc1a 100644 --- a/docs/sdk/core-kit/mpc-core-kit/mpc-core-kit.mdx +++ b/docs/sdk/core-kit/mpc-core-kit/mpc-core-kit.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth MPC Core Kit Web SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth MPC Core Kit Web SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/core-kit/mpc-tkey-ios/mpc-tkey-ios.mdx b/docs/sdk/core-kit/mpc-tkey-ios/mpc-tkey-ios.mdx index 2bf9e4ac9..a539222c3 100644 --- a/docs/sdk/core-kit/mpc-tkey-ios/mpc-tkey-ios.mdx +++ b/docs/sdk/core-kit/mpc-tkey-ios/mpc-tkey-ios.mdx @@ -2,6 +2,7 @@ title: Web3Auth CoreKit tKey MPC Swift SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth CoreKit tKey MPC Swift SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/core-kit/mpc-tkey-ios/usage.mdx b/docs/sdk/core-kit/mpc-tkey-ios/usage.mdx index 4ed2993d4..f99ff0fa0 100644 --- a/docs/sdk/core-kit/mpc-tkey-ios/usage.mdx +++ b/docs/sdk/core-kit/mpc-tkey-ios/usage.mdx @@ -19,7 +19,7 @@ However, before starting this process, you must set up Custom Authentication on :::tip For further information on how to set up and use a verifier, please visit the -[**Custom Authentication Documentation**](/pnp/features/custom-authentication). +[**Custom Authentication Documentation**](/features/custom-authentication). ::: diff --git a/docs/sdk/core-kit/sfa-android/initialize.mdx b/docs/sdk/core-kit/sfa-android/initialize.mdx index 3a7429ce7..853d231b1 100644 --- a/docs/sdk/core-kit/sfa-android/initialize.mdx +++ b/docs/sdk/core-kit/sfa-android/initialize.mdx @@ -35,9 +35,9 @@ The SingleFactorAuth Constructor takes `singleFactorAuthArgs` as input. -| Parameter | Type | Mandatory | Description | -| --------- | ---------------------------------------------------------- | --------- | ----------------------------------------------------------------------- | -| network | enum org.torusresearch.fetchnodedetails.types.TorusNetwork | Yes | Network to run SingleFactorAuth, either MAINNET, TESTNET, AQUA, or CYAN | +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `network` | The Web3auth network to be used by the SDK. Supported values are `TorusNetwork.MAINNET`, `TorusNetwork.TESTNET`, `TorusNetwork.CYAN`, `TorusNetwork.AQUA` | diff --git a/docs/sdk/core-kit/sfa-android/install.mdx b/docs/sdk/core-kit/sfa-android/install.mdx index ab7bf378d..664578560 100644 --- a/docs/sdk/core-kit/sfa-android/install.mdx +++ b/docs/sdk/core-kit/sfa-android/install.mdx @@ -27,7 +27,7 @@ Then, in your app-level `build.gradle` dependencies section, add the following: dependencies { // ... // highlight-next-line - implementation 'com.github.web3auth:single-factor-auth-android:0.0.4' + implementation 'com.github.web3auth:single-factor-auth-android:0.0.6' } ``` diff --git a/docs/sdk/core-kit/sfa-android/sfa-android.mdx b/docs/sdk/core-kit/sfa-android/sfa-android.mdx index d48658745..52b9f2172 100644 --- a/docs/sdk/core-kit/sfa-android/sfa-android.mdx +++ b/docs/sdk/core-kit/sfa-android/sfa-android.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth Core Kit Single Factor Auth Android SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Core Kit Single Factor Auth Android SDK | Documentation - Web3Auth" --- @@ -9,7 +10,7 @@ authenticate users through Web3Auth. The SDK is written in Kotlin and allows for the key. This means that users can authenticate without redirection in a single key pair flow. Using the Web3Auth SFA Android SDK, you can authenticate users and reconstruct their private keys quickly and easily. Additionally, you can use the -Web3Auth Plug and Play Android SDK to redirect users to a Web3Auth-hosted screen (`http://app.openlogin.com`), which is suitable for most use cases. +Web3Auth Plug and Play Android SDK to redirect users to a Web3Auth-hosted screen (`https://auth.web3auth.io`), which is suitable for most use cases. However, if you want more control over the UI and UX of the authentication process, you can customize the authentication flow to avoid redirection. This is possible with the new Web3Auth SFA Android SDK, which allows you to use Web3Auth SFA Android and prevent redirection to Openlogin-hosted screens. diff --git a/docs/sdk/core-kit/sfa-android/usage.mdx b/docs/sdk/core-kit/sfa-android/usage.mdx index 1725f49ce..8686ecb62 100644 --- a/docs/sdk/core-kit/sfa-android/usage.mdx +++ b/docs/sdk/core-kit/sfa-android/usage.mdx @@ -20,21 +20,23 @@ The SingleFactorAuth instance natively provides the following functions: To obtain a user's Torus key using the Web3Auth SFA Android SDK, you can call the `getKey()` function. -| Variable | Type | Description | Mandatory | -| ------------- | -------- | ---------------- | --------- | -| `loginParams` | `object` | Login Parameters | Yes | +| Variable | Description | +| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| `loginParams` | Parameters for the login. It takes `LoginParams` as the value. | +| `context?` | Android activity context | +| `sessionTime` | `sessionTime` parameter is used for session management. The default value is 1 day ~ 86400, and max value is 7 days. It takes `Long` as a value. | #### Returns -```tsx -public CompletableFuture getKey(LoginParams loginParams) +```kotlin +public CompletableFuture getKey(loginParams: LoginParams, context: Context? = null, sessionTime: Long = 86400)` ``` On successful call, the `getKey()` function returns a `CompletableFuture` instance. #### `LoginParams` -`getKey(loginParams: LoginParams)` +`getKey(loginParams: LoginParams, context: Context? = null, sessionTime: Long = 86400)` -| Parameter | Type | Description | Mandatory | -| ----------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------- | --------- | -| `verifier` | `string` | Details of the verifier (verifier type, ie. `torus`, `metamask`, `openlogin` etc.) | Yes | -| `verifierId` | `string` | Verifier ID's value, `sub` or `email` value present in the idToken. | Yes | -| `idToken` | `string` | A newly created `JWT Token` that has not already been sent to Web3Auth or a `Duplicate Token` error will be thrown. | Yes | -| `subVerifierInfoArray?` | `TorusSubVerifierInfo[]` | Sub verifier info | No | +| Parameter | Description | +| ----------------------- | ------------------------------------------------------------------------------------------------------------- | +| `verifier` | The verifier obtained from the Web3Auth Dashboard. It's a mandatory field and takes `String` as a value. | +| `verifierId` | The verifierId used for the verification. It takes `String` as a value. | +| `idToken` | The idToken of the user obtained from login provider. It takes `String` as a value. | +| `subVerifierInfoArray?` | Sub verifier info. Usually used during aggregate verifier. It takes `Array` as a value. | -```javascript -export type LoginParams = { - verifier: string, - verifierId: string, - idToken: string, - subVerifierInfoArray?: TorusSubVerifierInfo[], -}; +```kotlin +class LoginParams { + val verifier: String + val verifierId: String + val idToken: String + var subVerifierInfoArray: Array? = null + + constructor(verifier: String, verifierId: String, idToken: String) { + this.verifier = verifier + this.verifierId = verifierId + this.idToken = idToken + } + + constructor( + verifier: String, + verifierId: String, + idToken: String, + subVerifierInfoArray: Array + ) { + this.verifier = verifier + this.verifierId = verifierId + this.idToken = idToken + this.subVerifierInfoArray = subVerifierInfoArray + } +} ``` -```tsx title="Usage" +```kotlin title="Usage" loginParams = LoginParams("YOUR_VERIFIER_NAME", "YOUR_VERIFIER_ID", "YOUR_ID_TOKEN"); torusKey = singleFactorAuth.getKey(loginParams).get(); ``` diff --git a/docs/sdk/core-kit/sfa-flutter/initialize.mdx b/docs/sdk/core-kit/sfa-flutter/initialize.mdx index 6c21f2227..17aa633a2 100644 --- a/docs/sdk/core-kit/sfa-flutter/initialize.mdx +++ b/docs/sdk/core-kit/sfa-flutter/initialize.mdx @@ -28,9 +28,9 @@ Construct and configure the init function with the params as follows -| Parameter | Type | Mandatory | Description | -| --------- | ---- | --------- | ---------------------------------------------------------- | -| network | enum | Yes | The web3auth network. `mainnet`, `testnet`, `cyan`, `aqua` | +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `network` | The Web3auth network to be used by the SDK. Supported values are `TorusNetwork.mainnet`, `TorusNetwork.testnet`, `TorusNetwork.cyan`, `TorusNetwork.aqua` | diff --git a/docs/sdk/core-kit/sfa-flutter/install.mdx b/docs/sdk/core-kit/sfa-flutter/install.mdx index 76674bb49..4741db6dd 100644 --- a/docs/sdk/core-kit/sfa-flutter/install.mdx +++ b/docs/sdk/core-kit/sfa-flutter/install.mdx @@ -7,16 +7,14 @@ description: "Web3Auth Core Kit Single Factor Auth Flutter SDK - Install | Docum ## `single_factor_auth_flutter` -To install the `single_factor_auth_flutter` package, you have two options. You can either manually -add the package in the `pubspec.yaml` file, or you can use the `flutter pub add` command. - - +To install the `single_factor_auth_flutter` package, you have two options. You can either manually add the package in the `pubspec.yaml` file, or you +can use the `flutter pub add` command. Add `single_factor_auth_flutter` as a dependency to your `pubspec.yaml`. ```yaml dependencies: - single_factor_auth_flutter: ^2.0.0 + single_factor_auth_flutter: ^2.0.1 ``` Add `single_factor_auth_flutter` using `flutter pub add command`. diff --git a/docs/sdk/core-kit/sfa-flutter/sfa-flutter.mdx b/docs/sdk/core-kit/sfa-flutter/sfa-flutter.mdx index 60d509a59..dbee7b33e 100644 --- a/docs/sdk/core-kit/sfa-flutter/sfa-flutter.mdx +++ b/docs/sdk/core-kit/sfa-flutter/sfa-flutter.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth Core Kit Single Factor Auth Flutter SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Core Kit Single Factor Auth Flutter SDK | Documentation - Web3Auth" --- @@ -9,12 +10,12 @@ authenticate users through Web3Auth. The SDK is written in Dart and allows for n key. This means that users can authenticate without redirection in a single key pair flow. Using the Web3Auth SFA Flutter SDK, you can authenticate users and reconstruct their private keys quickly and easily. Additionally, you can use the -Web3Auth Plug and Play Flutter SDK to redirect users to a Web3Auth-hosted screen (`http://app.openlogin.com`), which is suitable for most use cases. +Web3Auth Plug and Play Flutter SDK to redirect users to a Web3Auth-hosted screen (`https://auth.web3auth.io`), which is suitable for most use cases. However, if you want more control over the UI and UX of the authentication process, you can customize the authentication flow to avoid redirection. This is possible with the new Web3Auth SFA Flutter SDK, which allows you to use Web3Auth SFA Flutter and prevent redirection to Openlogin-hosted screens. -#### This Documentation is based on the `2.0.0` SDK Version. +#### This Documentation is based on the `2.0.1` SDK Version. ## Requirements diff --git a/docs/sdk/core-kit/sfa-flutter/usage.mdx b/docs/sdk/core-kit/sfa-flutter/usage.mdx index 889c40396..cbcb51f7b 100644 --- a/docs/sdk/core-kit/sfa-flutter/usage.mdx +++ b/docs/sdk/core-kit/sfa-flutter/usage.mdx @@ -19,9 +19,9 @@ The SingleFactorAuth instance natively provides the following functions: To obtain a user's private key using the Web3Auth SFA Flutter SDK, you can call the `getKey()` function. -| Variable | Type | Description | Mandatory | -| ------------- | -------- | ------------------------------ | --------- | -| `LoginParams` | `object` | LoginParams Options Parameters | Yes | +| Variable | Description | +| ------------- | -------------------------------------------------------------- | +| `loginParams` | Parameters for the login. It takes `LoginParams` as the value. | #### Returns @@ -43,12 +43,12 @@ On successful call, the `getKey()` function returns a `Future` instanc -| Parameter | Type | Mandatory | Description | -| ----------------- | ------ | --------- | ------------------------------------------------------------------ | -| verifier | String | Yes | The verifier string obtained from the Web3Auth Dashboard | -| verifierId | String | Yes | The verifierId of the user | -| idToken | String | Yes | The idToken of the user | -| aggregateVerifier | String | No | The aggregate verifier string obtained from the Web3Auth Dashboard | +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------- | +| `verifier` | The verifier obtained from the Web3Auth Dashboard. It's a mandatory field and takes `String` as a value. | +| `verifierId` | The verifierId used for the verification. It takes `String` as a value. | +| `idToken` | The idToken of the user obtained from login provider. It takes `String` as a value. | +| `aggregateVerifier?` | The aggregate verifier obtained from the Web3Auth Dashboard. It takes `String` as a value. | @@ -113,9 +113,9 @@ Future getKey() { To obtain a user's Torus key using the Web3Auth SFA Flutter SDK, you can call the `getAggregateKey()` function. -| Variable | Type | Description | Mandatory | -| ------------- | -------- | ------------------------------ | --------- | -| `LoginParams` | `object` | LoginParams Options Parameters | Yes | +| Variable | Description | +| ------------- | -------------------------------------------------------------- | +| `loginParams` | Parameters for the login. It takes `LoginParams` as the value. | #### Returns @@ -137,12 +137,12 @@ On successful call, the `getAggregateKey()` function returns a `Future -| Parameter | Type | Mandatory | Description | -| ----------------- | ------ | --------- | ------------------------------------------------------------------ | -| verifier | String | Yes | The verifier string obtained from the Web3Auth Dashboard | -| verifierId | String | Yes | The verifierId of the user | -| idToken | String | Yes | The idToken of the user | -| aggregateVerifier | String | No | The aggregate verifier string obtained from the Web3Auth Dashboard | +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------- | +| `verifier` | The verifier obtained from the Web3Auth Dashboard. It's a mandatory field and takes `String` as a value. | +| `verifierId` | The verifierId used for the verification. It takes `String` as a value. | +| `idToken` | The idToken of the user obtained from login provider. It takes `String` as a value. | +| `aggregateVerifier?` | The aggregate verifier obtained from the Web3Auth Dashboard. It takes `String` as a value. | @@ -218,9 +218,8 @@ For MFA enabled users, you'll see an Error message. ## Session Management -We have included Session Management in this SDK, so calling the initialize function -to get the TorusKey value without re-logging in the user if a user has an active session will return the TorusKey, -otherwise, it will return null. +We have included Session Management in this SDK, so calling the initialize function to get the TorusKey value without re-logging in the user if a user +has an active session will return the TorusKey, otherwise, it will return null. ```dart final TorusKey? torusKey = await _singleFactorAuthFlutterPlugin.initialize(); @@ -422,9 +421,9 @@ class _MyAppState extends State { `lib/utils.dart` This Dart code will produce a JSON Web Token (JWT) using the ES256 algorithm. You have the option to use your own implementation or follow our -[Bring your own JWT token steps](/auth-provider-setup/byo-jwt-providers). Alternatively, you may choose to use any -[social](/auth-provider-setup/social-providers/)/[federated identity](/auth-provider-setup/federated-identity-providers) provider that is supported by -Web3auth. +[Bring your own JWT token steps](/auth-provider-setup/byo-jwt-provider). Alternatively, you may choose to use any +[social](/auth-provider-setup/social-providers/)/[federated identity](/auth-provider-setup/authentication-service-providers) provider that is +supported by Web3auth. ```dart title="utils.dart" import 'package:dart_jsonwebtoken/dart_jsonwebtoken.dart'; diff --git a/docs/sdk/core-kit/sfa-ios/initialize.mdx b/docs/sdk/core-kit/sfa-ios/initialize.mdx index 7ec0bbaec..5cf7987e8 100644 --- a/docs/sdk/core-kit/sfa-ios/initialize.mdx +++ b/docs/sdk/core-kit/sfa-ios/initialize.mdx @@ -56,7 +56,7 @@ let singleFactoreAuth = SingleFactorAuth(singleFactorAuthArgs: singleFactorAuthA The `singleFactoreAuth` constructor takes an object called `SingleFactorAuthArgs` as input. The below are the aviliable fields of the `SingleFactorAuthArgs` object. -| Parameter | Type | Mandatory | Description | -| ------------ | ------------ | --------- | ----------------------------------------------------------------------------------------------- | -| `network` | TorusNetwork | Yes | Web3Auth Network to run the authentication on, either `.MAINNET`,`.CYAN`, `.AQUA` or `.TESTNET` | -| `networkUrl` | string | No | Custom network url | +| Parameter | Description | +| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `network` | The Web3auth network to be used by the SDK. Supported values are `TorusNetwork.MAINNET`, `TorusNetwork.TESTNET`, `TorusNetwork.CYAN`, `TorusNetwork.AQUA` | +| `networkUrl` | Custom network url for Web3Auth network. Used for internal testing purposes. | diff --git a/docs/sdk/core-kit/sfa-ios/sfa-ios.mdx b/docs/sdk/core-kit/sfa-ios/sfa-ios.mdx index 7cdda21d8..310997652 100644 --- a/docs/sdk/core-kit/sfa-ios/sfa-ios.mdx +++ b/docs/sdk/core-kit/sfa-ios/sfa-ios.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth Core Kit Single Factor Auth iOS SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Core Kit Single Factor Auth iOS SDK | Documentation - Web3Auth" --- @@ -9,7 +10,7 @@ authenticate users through Web3Auth. The SDK is written in Swift and allows for the key. This means that users can authenticate without redirection in a single key pair flow. Using the Web3Auth SFA iOS SDK, you can authenticate users and reconstruct their private keys quickly and easily. Additionally, you can use the -Web3Auth Plug and Play iOS SDK to redirect users to a Web3Auth-hosted screen (`http://app.openlogin.com`), which is suitable for most use cases. +Web3Auth Plug and Play iOS SDK to redirect users to a Web3Auth-hosted screen (`https://auth.web3auth.io`), which is suitable for most use cases. However, if you want more control over the UI and UX of the authentication process, you can customize the authentication flow to avoid redirection. This is possible with the new Web3Auth SFA iOS SDK, which allows you to use Web3Auth SFA iOS and prevent redirection to Openlogin-hosted screens. diff --git a/docs/sdk/core-kit/sfa-ios/usage.mdx b/docs/sdk/core-kit/sfa-ios/usage.mdx index 15e9f8b1f..b44ecc724 100644 --- a/docs/sdk/core-kit/sfa-ios/usage.mdx +++ b/docs/sdk/core-kit/sfa-ios/usage.mdx @@ -20,13 +20,13 @@ The SingleFactorAuth instance natively provides the following functions: To obtain a user's Torus key using the Web3Auth SFA iOS SDK, you can call the `getKey()` function. -| Variable | Type | Description | Mandatory | -| ------------- | -------- | ---------------- | --------- | -| `loginParams` | `object` | Login Parameters | Yes | +| Variable | Description | +| ------------- | -------------------------------------------------------------- | +| `loginParams` | Parameters for the login. It takes `LoginParams` as the value. | #### Returns -```tsx +```swift public func getKey(loginParams: LoginParams) async throws -> TorusKey ``` @@ -44,12 +44,12 @@ public func getKey(loginParams: LoginParams) async throws -> TorusKey -| Parameter | Type | Description | Mandatory | -| ----------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------- | --------- | -| `verifier` | `string` | Details of the verifier (verifier type, ie. `torus`, `metamask`, `openlogin` etc.) | Yes | -| `verifierId` | `string` | Verifier ID's value, `sub` or `email` value present in the idToken. | Yes | -| `idToken` | `string` | A newly created `JWT Token` that has not already been sent to Web3Auth or a `Duplicate Token` error will be thrown. | Yes | -| `subVerifierInfoArray?` | `TorusSubVerifierInfo[]` | Sub verifier info | No | +| Parameter | Description | +| ----------------------- | ------------------------------------------------------------------------------------------------------------- | +| `verifier` | The verifier obtained from the Web3Auth Dashboard. It's a mandatory field and takes `String` as a value. | +| `verifierId` | The verifierId used for the verification. It takes `String` as a value. | +| `idToken` | The idToken of the user obtained from login provider. It takes `String` as a value. | +| `subVerifierInfoArray?` | Sub verifier info. Usually used during aggregate verifier. It takes `Array` as a value. | @@ -83,7 +83,7 @@ public class LoginParams { -```tsx title="Usage" +```swift title="Usage" let loginParams = LoginParams(verifier: "YOUR_VERIFIER_NAME", verifierId: "YOUR_VERIFIER_ID", idToken: "YOUR_ID_TOKEN") let torusKey = try await singleFactoreAuth.getKey(loginParams: loginParams) ``` diff --git a/docs/sdk/core-kit/sfa-node/sfa-node.mdx b/docs/sdk/core-kit/sfa-node/sfa-node.mdx index 33e3c6246..c358e0f68 100644 --- a/docs/sdk/core-kit/sfa-node/sfa-node.mdx +++ b/docs/sdk/core-kit/sfa-node/sfa-node.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth Core Kit Single Factor Auth Node.js SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Core Kit Single Factor Auth Node.js SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/core-kit/sfa-react-native/sfa-react-native.mdx b/docs/sdk/core-kit/sfa-react-native/sfa-react-native.mdx index 70f2f0690..a1e6d25c0 100644 --- a/docs/sdk/core-kit/sfa-react-native/sfa-react-native.mdx +++ b/docs/sdk/core-kit/sfa-react-native/sfa-react-native.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth Core Kit Single Factor Auth React Native SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Core Kit Single Factor Auth React Native SDK | Documentation - Web3Auth" --- @@ -9,7 +10,7 @@ applications to authenticate users via Web3Auth. This SDK is constructed using T single share of the key. This allows users to authenticate without any redirection in a single key pair flow. With the use of the Web3Auth SFA React Native SDK, you can authenticate users and regenerate their private keys swiftly and conveniently. For many -common use cases, the Web3Auth Plug and Play React Native SDK allows you to redirect users to a Web3Auth-hosted screen (`http://app.openlogin.com`). +common use cases, the Web3Auth Plug and Play React Native SDK allows you to redirect users to a Web3Auth-hosted screen (`https://auth.web3auth.io`). However, if you prefer a higher degree of control over the UI and UX during the authentication process, you have the option to tailor the authentication flow to prevent any redirection. This is achievable with the latest Web3Auth SFA React Native SDK, enabling you to utilize the Web3Auth diff --git a/docs/sdk/core-kit/sfa-react-native/usage.mdx b/docs/sdk/core-kit/sfa-react-native/usage.mdx index 2a3e7d618..3b3516868 100644 --- a/docs/sdk/core-kit/sfa-react-native/usage.mdx +++ b/docs/sdk/core-kit/sfa-react-native/usage.mdx @@ -206,7 +206,7 @@ Add chain configuration to the web3auth instance. | Parameter | Type | Description | Optional | | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -| `chainNamespace` |
  • **`string`** - (Choose between `eip155`, `solana` & `other`)
  • **or**
  • **`ChainNamespaceType`** - (Choose between `CHAIN_NAMESPACES.EIP155`, `CHAIN_NAMESPACES.SOLANA` & `CHAIN_NAMESPACES.OTHER`)
| The namespace of your preferred chain. Checkout [Providers SDK Reference](/sdk/helper-sdks/providers) for understanding RPC Calls. | No | +| `chainNamespace` |
  • **`string`** - (Choose between `eip155`, `solana` & `other`)
  • **or**
  • **`ChainNamespaceType`** - (Choose between `CHAIN_NAMESPACES.EIP155`, `CHAIN_NAMESPACES.SOLANA` & `CHAIN_NAMESPACES.OTHER`)
| The namespace of your preferred chain. Checkout [Providers SDK Reference](/sdk/providers) for understanding RPC Calls. | No | | `chainId` | `string` | The chain id of the selected blockchain in `hex` | No | | `rpcTarget` | `string` |
  • RPC Target URL for the selected `chainNamespace` & `chainId`.
  • We provide a default RPC Target for certain blockchains, but due to congestion it might be slow hence it is recommended to provide your own RPC Target URL.
| No | | `wsTarget` | `string` | Web socket target URL for the chain | Yes | @@ -227,7 +227,7 @@ declare const CHAIN_NAMESPACES: { readonly OTHER: "other"; }; -declare type ChainNamespaceType = typeof CHAIN_NAMESPACES[keyof typeof CHAIN_NAMESPACES]; +declare type ChainNamespaceType = (typeof CHAIN_NAMESPACES)[keyof typeof CHAIN_NAMESPACES]; declare type CustomChainConfig = { chainNamespace: ChainNamespaceType; /** diff --git a/docs/sdk/core-kit/sfa-web/sfa-web.mdx b/docs/sdk/core-kit/sfa-web/sfa-web.mdx index e929f9ffe..03e3675e4 100644 --- a/docs/sdk/core-kit/sfa-web/sfa-web.mdx +++ b/docs/sdk/core-kit/sfa-web/sfa-web.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth Core Kit Single Factor Auth Web SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Core Kit Single Factor Auth Web SDK | Documentation - Web3Auth" --- @@ -8,7 +9,7 @@ Web3Auth's `@web3auth/single-factor-auth` SDK is simple and easy-to-use SDK, whi key pair flow. With the Web3Auth Plug and Play Web SDKs you can easily and quickly authenticate users and reconstruct their private key. Web3Auth Plug and Play Web -SDK redirects users to a Web3Auth-hosted screen (i.e. `http://app.openlogin.com`). This flow is great for most use cases. Still, sometimes you may +SDK redirects users to a Web3Auth-hosted screen (i.e. `https://auth.web3auth.io`). This flow is great for most use cases. Still, sometimes you may want to customize the authentication flow such that you can have more control over the UI and UX of the authentication process (i.e. to avoid the redirection). This can be achieved through our new `@web3auth/single-factor-auth` SDK, where now, you'll be able to use Web3Auth and avoid the redirection to OpenLogin-hosted screens. @@ -72,29 +73,11 @@ one can easily get the private key from the Web3Auth SDK. :::tip -Check out the [Providers SDK Reference](/sdk/helper-sdks/providers) to learn more. +Check out the [Providers SDK Reference](/sdk/providers) to learn more. -- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/helper-sdks/providers/evm) -- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/helper-sdks/providers/solana) -- [Common Key Provider for other Blockchains `@web3auth/base-provider`](/sdk/helper-sdks/providers/common) - -::: - -### Plugin packages - -Plugins extend the functionality of Web3Auth, helping you to add more features to your application. These features can be used to extend the UI -functionalities, making your Web3Auth instance more interoperable, adding wallet features and a lot more! - -Currently, we support UI plugins for wallet operations, helping you with flows to add funds, manage transactions, provide wallet UI and much more. -This helps you avoid making wallet flows within your application. Additionally, for interoperability with multiple applications, these packages give -you the advantage of using the same key from Web3Auth across multiple applications. - -:::tip - -Check out the [Plugins SDK Reference](/sdk/helper-sdks/plugins) to learn more. - -- [EVM Wallet UI Plugin `@web3auth/torus-wallet-connector-plugin`](/sdk/helper-sdks/plugins/evm-wallet) -- [Solana Wallet UI Plugin `@web3auth/solana-wallet-connector-plugin`](/sdk/helper-sdks/plugins/solana-wallet) +- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/providers/evm) +- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/providers/solana) +- [Common Key Provider for other Blockchains `@web3auth/base-provider`](/sdk/providers/common) ::: diff --git a/docs/sdk/core-kit/sfa-web/usage.mdx b/docs/sdk/core-kit/sfa-web/usage.mdx index ab69405df..798467401 100644 --- a/docs/sdk/core-kit/sfa-web/usage.mdx +++ b/docs/sdk/core-kit/sfa-web/usage.mdx @@ -161,7 +161,7 @@ Add chain configuration to the web3auth instance. | Parameter | Type | Description | Optional | | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -| `chainNamespace` |
  • **`string`** - (Choose between `eip155`, `solana` & `other`)
  • **or**
  • **`ChainNamespaceType`** - (Choose between `CHAIN_NAMESPACES.EIP155`, `CHAIN_NAMESPACES.SOLANA` & `CHAIN_NAMESPACES.OTHER`)
| The namespace of your preferred chain. Checkout [Providers SDK Reference](/sdk/helper-sdks/providers) for understanding RPC Calls. | No | +| `chainNamespace` |
  • **`string`** - (Choose between `eip155`, `solana` & `other`)
  • **or**
  • **`ChainNamespaceType`** - (Choose between `CHAIN_NAMESPACES.EIP155`, `CHAIN_NAMESPACES.SOLANA` & `CHAIN_NAMESPACES.OTHER`)
| The namespace of your preferred chain. Checkout [Providers SDK Reference](/sdk/providers) for understanding RPC Calls. | No | | `chainId` | `string` | The chain id of the selected blockchain in `hex` | No | | `rpcTarget` | `string` |
  • RPC Target URL for the selected `chainNamespace` & `chainId`.
  • We provide a default RPC Target for certain blockchains, but due to congestion it might be slow hence it is recommended to provide your own RPC Target URL.
| No | | `wsTarget` | `string` | Web socket target URL for the chain | Yes | @@ -182,7 +182,7 @@ declare const CHAIN_NAMESPACES: { readonly OTHER: "other"; }; -declare type ChainNamespaceType = typeof CHAIN_NAMESPACES[keyof typeof CHAIN_NAMESPACES]; +declare type ChainNamespaceType = (typeof CHAIN_NAMESPACES)[keyof typeof CHAIN_NAMESPACES]; declare type CustomChainConfig = { chainNamespace: ChainNamespaceType; /** diff --git a/docs/sdk/core-kit/tkey-android/tkey-android.mdx b/docs/sdk/core-kit/tkey-android/tkey-android.mdx index bd9dc50a3..7b5777788 100644 --- a/docs/sdk/core-kit/tkey-android/tkey-android.mdx +++ b/docs/sdk/core-kit/tkey-android/tkey-android.mdx @@ -2,6 +2,7 @@ title: Web3Auth CoreKit tKey Android SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Android SDK | Documentation - Web3Auth" --- @@ -9,6 +10,13 @@ The Web3Auth [tKey Android SDK](https://github.com/tkey/tkey-android) is a clien using Web3Auth. This authentication can be achieved using any social logins Web3Auth provides or a custom authentication flow. For using Web3Auth's tKey natively in Android, Web3Auth provides a tKey Android SDK written in Java. +:::note + +The minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Enterprise Plan**. However, you can +use this SDK with all features enabled in the development environment for free. + +::: + #### This Documentation is based on `0.0.5` SDK Version. ### Requirements diff --git a/docs/sdk/core-kit/tkey-android/usage.mdx b/docs/sdk/core-kit/tkey-android/usage.mdx index 2e0214b91..63b40ea4e 100644 --- a/docs/sdk/core-kit/tkey-android/usage.mdx +++ b/docs/sdk/core-kit/tkey-android/usage.mdx @@ -25,7 +25,7 @@ However, before starting this process, you must set up Custom Authentication on :::tip For further information on how to set up and use a verifier, please visit the -[**Custom Authentication Documentation**](/pnp/features/custom-authentication). +[**Custom Authentication Documentation**](/features/custom-authentication). ::: diff --git a/docs/sdk/core-kit/tkey-ios/tkey-ios.mdx b/docs/sdk/core-kit/tkey-ios/tkey-ios.mdx index 3aeb14c60..5335fb993 100644 --- a/docs/sdk/core-kit/tkey-ios/tkey-ios.mdx +++ b/docs/sdk/core-kit/tkey-ios/tkey-ios.mdx @@ -2,6 +2,7 @@ title: Web3Auth CoreKit tKey iOS SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth CoreKit tKey iOS SDK | Documentation - Web3Auth" --- @@ -9,6 +10,13 @@ The Web3Auth [tKey iOS SDK](https://github.com/tkey/tkey-ios) is a client-side l Web3Auth. This authentication can be achieved using any social logins Web3Auth provides or a custom authentication flow. For using Web3Auth's tKey natively in iOS, Web3Auth provides a tKey iOS SDK written in Swift. +:::note + +The minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Enterprise Plan**. However, you can +use this SDK with all features enabled in the development environment for free. + +::: + #### This Documentation is based on the `0.0.4` SDK Version. ### Requirements diff --git a/docs/sdk/core-kit/tkey-ios/usage.mdx b/docs/sdk/core-kit/tkey-ios/usage.mdx index 64f8ca2e1..1d369e45f 100644 --- a/docs/sdk/core-kit/tkey-ios/usage.mdx +++ b/docs/sdk/core-kit/tkey-ios/usage.mdx @@ -348,7 +348,7 @@ However, before starting this process, you must set up Custom Authentication on :::tip For further information on how to set up and use a verifier, please visit the -[**Custom Authentication Documentation**](/pnp/features/custom-authentication). +[**Custom Authentication Documentation**](/features/custom-authentication). ::: diff --git a/docs/sdk/core-kit/tkey/initialize.mdx b/docs/sdk/core-kit/tkey/initialize.mdx index 4156e0589..13d6a3a68 100644 --- a/docs/sdk/core-kit/tkey/initialize.mdx +++ b/docs/sdk/core-kit/tkey/initialize.mdx @@ -117,7 +117,7 @@ tKeyInstance.serviceProvider.init(params: PrivateKeyProvider); #### `PrivateKeyProvider` The `init` function in SFAServiceProvider needs a `PrivateKeyProvider` as a parameter. It can accept any of the providers mentioned in our -[Providers](/sdk/helper-sdks/providers/) documentation +[Providers](/sdk/providers/) documentation ### Example diff --git a/docs/sdk/core-kit/tkey/intrinsic-flow.mdx b/docs/sdk/core-kit/tkey/intrinsic-flow.mdx index 364fcdf02..46d62973a 100644 --- a/docs/sdk/core-kit/tkey/intrinsic-flow.mdx +++ b/docs/sdk/core-kit/tkey/intrinsic-flow.mdx @@ -187,7 +187,7 @@ However, before starting this process, you need to set up Custom Authentication :::tip If you want to know more about setting up a verifier and how to use it, please refer to the -[Custom Authentication Documentation](/pnp/features/custom-authentication). +[Custom Authentication Documentation](/features/custom-authentication). ::: diff --git a/docs/sdk/core-kit/tkey/tkey.mdx b/docs/sdk/core-kit/tkey/tkey.mdx index 858707ff4..f305664d9 100644 --- a/docs/sdk/core-kit/tkey/tkey.mdx +++ b/docs/sdk/core-kit/tkey/tkey.mdx @@ -2,6 +2,7 @@ title: Web3Auth tKey JS SDK image: "images/docs-meta-cards/documentation-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth tKey JS SDK | Introduction" --- @@ -10,6 +11,13 @@ import TkeyIntroduction from "@site/src/common/docs/_tkey-intro.mdx"; +:::note + +The minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Enterprise Plan**. However, you can +use this SDK with all features enabled in the development environment for free. + +::: + :::caution Although you can create as many shares as you want, we recommend you create no more than a total of 6 shares, including your device shares and @@ -111,27 +119,9 @@ one can easily get the private key from the Web3Auth SDK. :::tip -Checkout the [Providers SDK Reference](/sdk/helper-sdks/providers) to learn more. - -- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/helper-sdks/providers/evm) -- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/helper-sdks/providers/solana) - -::: - -### Plugin packages - -Plugins extend the functionality of Web3Auth, helping you to add more features to your application. These features can be used to extend the UI -functionalities, making your Web3Auth instance more interoperable, adding wallet features and a lot more! - -Currently, we support UI plugins for wallet operations, helping you with flows to add funds, manage transactions, provide wallet UI and much more. -This helps you avoid making wallet flows within your application. Additionally, for interoperability with multiple applications, these packages give -you the advantage of using the same key from Web3Auth across multiple applications. - -:::tip - -Checkout the [Plugins SDK Reference](/sdk/helper-sdks/plugins) to learn more. +Checkout the [Providers SDK Reference](/sdk/providers) to learn more. -- [EVM Wallet UI Plugin `@web3auth/torus-wallet-connector-plugin`](/sdk/helper-sdks/plugins/evm-wallet) -- [Solana Wallet UI Plugin `@web3auth/solana-wallet-connector-plugin`](/sdk/helper-sdks/plugins/solana-wallet) +- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/providers/evm) +- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/providers/solana) ::: diff --git a/docs/sdk/core-kit/tkey/usage.mdx b/docs/sdk/core-kit/tkey/usage.mdx index 8e8adac31..e334db49c 100644 --- a/docs/sdk/core-kit/tkey/usage.mdx +++ b/docs/sdk/core-kit/tkey/usage.mdx @@ -208,7 +208,7 @@ other curves and utilize it. For example, we have a dedicated package for conver blockchains that use this curve. In addition to that, we have dedicated provider packages for EVM, Solana and XRPL libraries. You can check out their respective documentation in the -[Providers Section](/sdk/helper-sdks/providers/). +[Providers Section](/sdk/providers/). :::tip diff --git a/docs/sdk/helper-sdks/plugins/evm-wallet.mdx b/docs/sdk/helper-sdks/plugins/evm-wallet.mdx deleted file mode 100644 index 7f78c6a76..000000000 --- a/docs/sdk/helper-sdks/plugins/evm-wallet.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Torus EVM Wallet Plugin is deprecated, use Wallet Services Plugin now -displayed_sidebar: sdk -description: "Torus EVM Wallet UI Plugin is deprecated, use Wallet Services Plugin now - Web3Auth" ---- - -import PluginConfig from "@site/src/common/sdk/pnp/web/_plugin-config.mdx"; -import ShowCheckout from "@site/src/common/sdk/pnp/web/_plugin-initiate-topup.mdx"; -import ShowWCScanner from "@site/src/common/sdk/pnp/web/_plugin-showwcscanner.mdx"; -import ShowWalletUi from "@site/src/common/sdk/pnp/web/_plugin-show-wallet-ui.mdx"; -import PluginWhitelabelConfig from "@site/src/common/sdk/pnp/web/_plugin-whitelabel-config.mdx"; -import PluginsExample from "@site/src/common/sdk/pnp/web/_plugins-example.mdx"; - -:::danger - -**Torus EVM Wallet Plugin is deprecated now, use Wallet Services Plugin moving forward.** - -::: - -### [`@web3auth/wallet-services-plugin`](https://npmjs.com/package/@web3auth/wallet-services-plugin) - -Wallet Services Plugin Enable allows your application to use templated wallet UI screens. Take control of and personalize the wallet interface, and -optionally, activate an embedded wallet for your users. - -## Installation - -```bash npm2yarn -npm install --save @web3auth/wallet-services-plugin -``` - -## Initialization - -Import the `WalletServicesPlugin` **class** from `@web3auth/wallet-services-plugin`. - -```javascript -import { WalletServicesPlugin } from "@web3auth/wallet-services-plugin"; -``` - -#### Assign the `WalletServicesPlugin` class to a variable - -After creating your Web3Auth instance, you need to initialize the Wallet Services Plugin and add it to a class for further usage. - -```javascript -const walletServicesPlugin = new WalletServicesPlugin(options); -``` - -This constructor takes an objects with `wsEmbedOpts` & `walletInitOptions` as input. - -### Arguments - - - -### Whitelabel - - - -#### Add the `walletServicesPlugin` class to your Web3Auth instance - -After initializing the `walletServicesPlugin`, use the `addPlugin()` function to your Web3Auth instance, you can use the Wallet Services Plugin for -your dApp. - -``` -web3AuthInstance.addPlugin(walletServicesPlugin); -``` - -### Example - - - -## Using Wallet Services Plugin - -### `showWalletConnectScanner()` - - - -### `showCheckout()` - - - -### `showWalletUi()` - - diff --git a/docs/sdk/helper-sdks/plugins/plugins.mdx b/docs/sdk/helper-sdks/plugins/plugins.mdx deleted file mode 100644 index 8d39cdc4e..000000000 --- a/docs/sdk/helper-sdks/plugins/plugins.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Web3Auth Plugins -sidebar_label: Plugins -displayed_sidebar: sdk -description: "Web Plugins | Documentation - Web3Auth" ---- - -Plugins are essentially extensions to the core functionality of Web3Auth, allowing you to add additional features to your dApp. These features can be -used to extend the UI functionalities, making your integration more interoperable, and a lot more, even having the functionality to be customised -extremely and to your liking. Our aim is to progressively add more features to make developing with Web3Auth easier and flexible for the community. - -Currently, Web3Auth supports UI plugins for wallet operations, helping you with flows to add funds, manage transactions and much more. This helps you -avoid making wallet flows within your application. Additionally, for interoperability with multiple applications, these packages give you the -advantage of using the same key from Web3Auth across multiple applications. - -You can explore the SDK Reference for our UI plugins in this section. - -### Torus EVM Wallet UI Plugin - -#### [`@web3auth/torus-wallet-connector-plugin`](/sdk/helper-sdks/plugins/evm-wallet) - -Torus EVM Wallet UI Plugin helps you get the functionalities of the Torus EVM Wallet into your Web3Auth Instance. It helps you use your Web3Auth key -in the Torus EVM Wallet, making it easier for your end user to make transactions, add money into their wallet and even use it across different -applications using Torus EVM Wallet. - -Learn more about how to use [Torus EVM Wallet Plugin](/sdk/helper-sdks/plugins/evm-wallet). - -### Torus Solana Wallet UI Plugin - -#### [`@web3auth/solana-wallet-connector-plugin`](/sdk/helper-sdks/plugins/solana-wallet) - -Torus Solana Wallet UI Plugin helps you get the functionalities of the Torus Solana Wallet into your Web3Auth Instance. It helps you use your Web3Auth -key in the Torus Solana Wallet, making it easier for your end user to make transactions, add money into their wallet and even use it across different -applications using Torus Solana Wallet. - -Learn more about how to use [Torus Solana Wallet Plugin](/sdk/helper-sdks/plugins/solana-wallet). diff --git a/docs/sdk/helper-sdks/plugins/solana-wallet.mdx b/docs/sdk/helper-sdks/plugins/solana-wallet.mdx deleted file mode 100644 index c4aecefac..000000000 --- a/docs/sdk/helper-sdks/plugins/solana-wallet.mdx +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: Torus Solana Wallet UI Plugin -displayed_sidebar: sdk -description: "Web3Auth Plugin - Torus Solana Wallet UI Plugin | Documentation - Web3Auth" ---- - -import PluginConfig from "@site/src/common/sdk/pnp/web/_solana-plugin-config.mdx"; -import SolanaInitiateTopUp from "@site/src/common/sdk/pnp/web/_solana-plugin-initiate-topup.mdx"; -import PluginWhitelabelConfig from "@site/src/common/sdk/pnp/web/_solana-plugin-whitelabel-config.mdx"; - -## [`@web3auth/solana-wallet-connector-plugin`](https://npmjs.com/package/@web3auth/solana-wallet-connector-plugin) - -Torus Solana Wallet UI Plugin helps you get the functionalities of the Torus Solana Wallet into your Web3Auth Instance. It helps you use your Web3Auth -key in the Torus Solana Wallet, making it easier for your end user to make transactions, add money into their wallet and even use it across different -applications using Torus Wallet. - -After initialization, this plugin gives you a provider from the Torus Solana Wallet, injecting the Torus Wallet UI into your dApp and helping you make -the wallet calls directly through it without the need of making your own wallet UI flow. - -In this section we'll explore more about how you can use the Torus Solana Wallet UI Plugin for your dApp. - -## Installation - -#### [`@web3auth/solana-wallet-connector-plugin`](https://www.npmjs.com/package/@web3auth/solana-wallet-connector-plugin) - -```bash npm2yarn -npm install --save @web3auth/solana-wallet-connector-plugin -``` - -## Initialisation - -Import the `SolanaWalletConnectorPlugin` class from `@web3auth/solana-wallet-connector-plugin`. - -```javascript -import { SolanaWalletConnectorPlugin } from "@web3auth/solana-wallet-connector-plugin"; -``` - -### Assign the `SolanaWalletConnectorPlugin` class to a variable - -After creating your Web3Auth instance, you need to initialize the Torus Wallet UI Plugin and add it to a class for further usage. - -```javascript -const torusPlugin = new SolanaWalletConnectorPlugin(torusWalletOpts: {}, - walletInitOptions: { - enableLogging: true, - },); -``` - -This constructor takes an objects with `torusWalletOpts` & `walletInitOptions` as input. - -#### Arguments - - - - -:::info - -For additional information on the init options for Torus - Solana Wallet, please check the -[Torus Solana Wallet documentation](https://docs.tor.us/solana-wallet/api-reference/class#init) - -::: - -### Add the `torusPlugin` class to your Web3Auth instance - -After initializing the `torusPlugin`, use the `addPlugin()` function to your Web3Auth instance, you can use the Torus Wallet UI Plugin for your dApp. - -``` -await web3AuthInstance.addPlugin(torusPlugin); -``` - -### Example - -```javascript -import { SolanaWalletConnectorPlugin } from "@web3auth/solana-wallet-connector-plugin"; - -const torusPlugin = new SolanaWalletConnectorPlugin({ - torusWalletOpts: {}, - walletInitOptions: { - whiteLabel: { - name: "Whitelabel Demo", - theme: { isDark: true, colors: { torusBrand1: "#00a8ff" } }, - logoLight: "https://web3auth.io/images/web3auth-logo.svg", - logoDark: "https://web3auth.io/images/web3auth-logo---Dark.svg", - topupHide: true, - defaultLanguage: "en", - }, - }, -}); -await web3auth.addPlugin(torusPlugin); -``` - -## Using the Torus Solana Wallet Provider - -As soon as you add the `torusPlugin` class to your Web3Auth instance, you have access to the Torus Wallet Provider. You can use this provider to -access the Torus Solana Wallet UI within your dApp and make RPC calls through that. To use the provider, use the following command: - -#### Example - -```javascript -const blockhash = (await conn.getRecentBlockhash("finalized")).blockhash; -const TransactionInstruction = SystemProgram.transfer({ - fromPubkey: new PublicKey(publicKeys[0]), - toPubkey: new PublicKey(publicKeys[1]), - lamports: 0.1 * LAMPORTS_PER_SOL, -}); -const transaction = new Transaction({ - recentBlockhash: blockhash, - feePayer: new PublicKey(publicKeys[0]), -}).add(TransactionInstruction); - -// torusWalletInstance will be available on torusPlugin once user is logged in. -// this will show transaction confirmation popup. -const res = await torusPlugin.torusWalletInstance.sendTransaction(transaction); -``` - -### `initiateTopup()` - - - -## Additional Reading - -### Initialiazing the Torus Solana Wallet UI Plugin with a custom provider - -You can also initialize the Torus Solana Wallet UI Plugin with a custom provider. If your dApp is already initiating another provider, you can use -that provider to initialize the Torus Solana Wallet UI Plugin. This way it will be easier for you to use the Torus Solana Wallet UI Plugin with your -dApp. - -#### Example - -```tsx -import { SolanaWalletConnectorPlugin } from "@web3auth/solana-wallet-connector-plugin"; - -const torusPlugin = new SolanaWalletConnectorPlugin({ - torusWalletOpts: {}, - walletInitOptions: { - whiteLabel: { - name: "Whitelabel Demo", - theme: { isDark: true, colors: { torusBrand1: "#00a8ff" } }, - logoLight: "https://web3auth.io/images/web3auth-logo.svg", - logoDark: "https://web3auth.io/images/web3auth-logo---Dark.svg", - topupHide: true, - defaultLanguage: "en", - }, - useWalletConnect: true, - enableLogging: true, - }, -}); - -torusPlugin.initWithProvider(YOUR_CUSTOM_PROVIDER, userInfo); -``` - -#### Know more about how to use the [Torus Solana Wallet Instance and provider](https://docs.tor.us/solana-wallet/api-reference/solana/send-transaction) diff --git a/docs/sdk/pnp/android/android.mdx b/docs/sdk/pnp/android/android.mdx index f13c95085..d038d07f4 100644 --- a/docs/sdk/pnp/android/android.mdx +++ b/docs/sdk/pnp/android/android.mdx @@ -2,6 +2,7 @@ title: Web3Auth PnP Android SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP Android SDK | Documentation - Web3Auth" --- @@ -10,7 +11,7 @@ authenticate users using Web3Auth. For using Web3Auth natively in Android, Web3A key generated in a non-custodial way on successful user authentication. This authentication can be achieved by using any social login options that Web3Auth supports or custom authentication flow of your choice. -#### This Documentation is based on the `6.0.0` SDK Version. +#### This Documentation is based on the `6.1.0` SDK Version. ## Requirements diff --git a/docs/sdk/pnp/android/install.mdx b/docs/sdk/pnp/android/install.mdx index ff37a6c1b..55bcaba6b 100644 --- a/docs/sdk/pnp/android/install.mdx +++ b/docs/sdk/pnp/android/install.mdx @@ -27,7 +27,7 @@ Then, in your app-level `build.gradle` dependencies section, add the following: dependencies { // ... // highlight-next-line - implementation 'com.github.web3auth:web3auth-android-sdk:6.0.0' + implementation 'com.github.web3auth:web3auth-android-sdk:6.0.1' } ``` diff --git a/docs/sdk/pnp/android/usage.mdx b/docs/sdk/pnp/android/usage.mdx index d0401ebf0..51ba0ce17 100644 --- a/docs/sdk/pnp/android/usage.mdx +++ b/docs/sdk/pnp/android/usage.mdx @@ -337,7 +337,7 @@ class MainActivity : AppCompatActivity() { ) // highlight-end // Use this for login with your generated JWT token, - // please refer to https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers to learn more + // please refer to https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider to learn more loginCompletableFuture.whenComplete { loginResponse, error -> if (error == null) { diff --git a/docs/sdk/pnp/flutter/flutter.mdx b/docs/sdk/pnp/flutter/flutter.mdx index 12c5abf47..bcdd5231a 100644 --- a/docs/sdk/pnp/flutter/flutter.mdx +++ b/docs/sdk/pnp/flutter/flutter.mdx @@ -2,6 +2,7 @@ title: Web3Auth PnP Flutter SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP Flutter SDK | Documentation - Web3Auth" --- @@ -9,7 +10,7 @@ Web3Auth provides a [Flutter SDK](https://github.com/Web3Auth/web3auth-flutter-s Flutter app to authenticate users using Web3Auth. It returns a private key generated in a non-custodial way on successful user authentication. This authentication is achieved by using any of the supported social logins Web3Auth provides or using a custom authentication flow of your choice. -#### This Documentation is based on the `3.1.6` SDK Version. +#### This Documentation is based on the `3.1.7` SDK Version. ## Requirements diff --git a/docs/sdk/pnp/flutter/install.mdx b/docs/sdk/pnp/flutter/install.mdx index d1a21657d..c2c7ffd62 100644 --- a/docs/sdk/pnp/flutter/install.mdx +++ b/docs/sdk/pnp/flutter/install.mdx @@ -14,7 +14,7 @@ Add `web3auth_flutter` as a dependency to your `pubspec.yaml`. ```yaml dependencies: - web3auth_flutter: ^3.1.6 + web3auth_flutter: ^3.1.7 ``` Add `web3auth_flutter` using `flutter pub add command`. diff --git a/docs/sdk/pnp/ios/ios.mdx b/docs/sdk/pnp/ios/ios.mdx index f5761c535..54f6bb5b6 100644 --- a/docs/sdk/pnp/ios/ios.mdx +++ b/docs/sdk/pnp/ios/ios.mdx @@ -2,6 +2,7 @@ title: Web3Auth PnP iOS/Swift SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP iOS SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/pnp/react-native/react-native.mdx b/docs/sdk/pnp/react-native/react-native.mdx index b824a4d7f..229098e26 100644 --- a/docs/sdk/pnp/react-native/react-native.mdx +++ b/docs/sdk/pnp/react-native/react-native.mdx @@ -2,6 +2,7 @@ title: Web3Auth PnP React Native SDK image: "images/docs-meta-cards/sdk-reference-card.png" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP React Native SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/pnp/unity/custom-authentication.mdx b/docs/sdk/pnp/unity/custom-authentication.mdx index 1390414f2..101245774 100644 --- a/docs/sdk/pnp/unity/custom-authentication.mdx +++ b/docs/sdk/pnp/unity/custom-authentication.mdx @@ -8,18 +8,18 @@ description: "Web3Auth PnP Unity SDK - Using Custom Authentication | Documentati import TabItem from "@theme/TabItem"; import Tabs from "@theme/Tabs"; -Custom Authentication is a way to authenticate users with your own custom authentication service. For example, while authenticating with Google, you -have the ability to use your own Google Client ID and Dashboard to authenticate users directly. To login using your own custom JWT issuers like Auth0, -AWS Cognito, or Firebase, you can add the your configuration to the `loginConfig` field of the `Web3AuthOptions` class. +Custom Authentication is a way to authenticate users usign your own custom authentication service. For example, while authenticating with Google, you +can use your own Google Client ID and Dashboard to authenticate users directly. To login with your own custom JWT issuers like Auth0, AWS Cognito, or +Firebase, you can add the your configuration to the `loginConfig` field of the `Web3AuthOptions` class. -The `loginConfig` field is a key value map. The key should be one of the `Web3AuthProvider` in its string form, and the value should be a +The `loginConfig` field is a key-value map. The key should be one of the `Web3AuthProvider` in its string form, and the value should be a `LoginConfigItem` struct instance. First, configure your own verifier in the Web3Auth Dashboard to use custom authentication. :::tip -Check out how to create [Custom Verifier](/auth-provider-setup/verifiers) on Web3Auth Dashboard. +Check out how to create a [Custom Verifier](/auth-provider-setup/verifiers) on Web3Auth Dashboard. ::: @@ -28,7 +28,7 @@ Then, you should specify the details of your verifier in the `LoginConfigItem` s :::note This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth -Plan**. You can use this feature in the development environment for free. +Plan**. You can use this feature for free in the development environment. ::: @@ -46,21 +46,21 @@ Plan**. You can use this feature in the development environment for free. -| Parameter | Description | -| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `verifier` | The name of the verifier that you have registered on the Web3Auth Dashboard. It's a mandatory field, and accepts `string` as a value. | -| `typeOfLogin` | Type of login of this verifier, this value will affect the login flow that is adapted. For example, if you choose `google`, a Google sign-in flow will be used. If you choose `jwt`, you should be providing your own JWT token, no sign-in flow will be presented. It's a mandatory field, and accepts `TypeOfLogin` as a value. | -| `clientId` | Client id provided by your login provider used for custom verifier. e.g. Google's Client ID or Web3Auth's client Id if using 'jwt' as TypeOfLogin. It's a mandatory field, and accepts `string` as a value. | -| `name?` | Display name for the verifier. If null, the default name is used. It accepts `string` as a value. | -| `description?` | Description for the button. If provided, it renders as a full length button. else, icon button. It accepts `string` as a value. | -| `verifierSubIdentifier?` | The field in JWT token which maps to verifier id. Please make sure you selected correct JWT verifier id in the developer dashboard. It accepts `string` as a value. | -| `logoHover?` | Logo to be shown on mouse hover. It accepts `string` as a value. | -| `logoLight?` | Light logo for dark background. It accepts `string` as a value. | -| `logoDark?` | Dark logo for light background. It accepts `string` as a value. | -| `mainOption?` | Show login button on the main list. It accepts `bool` as a value. Default value is false. | -| `showOnModal?` | Whether to show the login button on modal or not. Default value is true. | -| `showOnDesktop?` | Whether to show the login button on desktop. Default value is true. | -| `showOnMobile?` | Whether to show the login button on mobile. Default value is true. | +| Parameter | Description | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `verifier` | The name of the verifier that you have registered on the Web3Auth Dashboard. It's a mandatory field, and accepts `string` as a value. | +| `typeOfLogin` | Type of login for this verifier, this value will affect the login flow that is adapted. For example, if you choose `google`, a Google sign-in flow will be used. If you choose `jwt`, you should provide your own JWT token, no sign-in flow will be presented. It's a mandatory field, and accepts `TypeOfLogin` as a value. | +| `clientId` | Client id provided by your login provider used for custom verifier. e.g. Google's Client ID or Web3Auth's client Id if using 'jwt' as TypeOfLogin. It's a mandatory field, and accepts `string` as a value. | +| `name?` | Display name for the verifier. If null, the default name is used. It accepts `string` as a value. | +| `description?` | Description for the button. If provided, it renders as a full length button. else, icon button. It accepts `string` as a value. | +| `verifierSubIdentifier?` | The field in JWT token which maps to verifier id. Please make sure you selected correct JWT verifier id in the developer dashboard. It accepts `string` as a value. | +| `logoHover?` | Logo to be shown on mouse hover. It accepts `string` as a value. | +| `logoLight?` | Light logo for dark background. It accepts `string` as a value. | +| `logoDark?` | Dark logo for light background. It accepts `string` as a value. | +| `mainOption?` | Show login button on the main list. It accepts `bool` as a value. Default value is false. | +| `showOnModal?` | Whether to show the login button on modal or not. Default value is true. | +| `showOnDesktop?` | Whether to show the login button on desktop. Default value is true. | +| `showOnMobile?` | Whether to show the login button on mobile. Default value is true. | diff --git a/docs/sdk/pnp/unity/dapp-share.mdx b/docs/sdk/pnp/unity/dapp-share.mdx index 3f64c84c1..4147ebd66 100644 --- a/docs/sdk/pnp/unity/dapp-share.mdx +++ b/docs/sdk/pnp/unity/dapp-share.mdx @@ -9,17 +9,17 @@ import UnityResponse from "@site/src/common/sdk/pnp/unity/_response.mdx"; ## Web3Auth Infrastructure at a glance -If you go through the [Web3Auth infrastructure](/infrastructure/) you'll notice that to enable the non custodiality of Web3Auth, we split the private -key into multiple parts, ie. `shares`. These shares are a part of the off chain multisig, where multiple shares are stored in different places and can -be used to reconstruct the private key dynamically in the user's frontend application. For a glance at the structure of the shares, these are the +If you go through the [Web3Auth infrastructure](/infrastructure/), you'll notice that to enable the non custodiality of Web3Auth, we split the private +key into multiple parts, called `shares`. These shares are a part of the off-chain multisig, where multiple shares are stored in different places and +can be used to reconstruct the private key dynamically in the user's frontend application. For a glance at the structure of the shares, these are the following: -1. **`ShareA` is stored on the user's device**: Implementation is device and system specific. For example, on mobile devices, the share could be +1. **`ShareA` is stored on the user's device**: The Implementation is device and system specific. For example, on mobile devices, the share could be stored in device storage secured via biometrics. 2. **`ShareB` is managed by a login service via node operators**: This share is further split amongst a network of nodes and retrieved via conventional authentication flows. -3. **`ShareC` is a recovery share**: An extra share to be kept by the user, possibly kept on a separate device, downloaded or based on user input with - enough entropy (eg. password, security questions, hardware device etc.). +3. **`ShareC` is a recovery share**: An extra share to be kept by the user, possibly stored on a separate device, downloaded or based on user input + with enough entropy (eg. password, security questions, hardware device etc.). Similar to existing 2FA systems, a user needs to prove ownership of at least 2 out of 3 (2/3) shares, in order to retrieve their private key. This initial setup provides several benefits. @@ -42,13 +42,13 @@ reconstruct the private key after successful login by the user. Web3Auth issues a dApp Share, ie. a backup share that can be stored by the app developer directly within their application and used to reconstruct the private key after successful login by the user. -After a successful login from a user, the user details are returned as a response to the application in mobile devices. +After a successful login from a user, the user details are returned as a response to the application on mobile devices. ### Sample Response in Unity -If you notice, the reponses has a field called `dappShare` which is a 24 words seed phrase that can be used to reconstruct the private key. This +If you notice, the response has a field called `dappShare` which is a 24 words seed phrase that can be used to reconstruct the private key. This `dappShare` is a suplement to the `Share A` and represents half of the private key. The application can store the dApp share in their own application local storage safely. @@ -58,9 +58,9 @@ login function. :::note -One major thing to note here is that the `dappShare` is only available for custom verifiers and not the standard web3auth verifiers. This is done to -make sure that an application only has access to the corresponding share to the private key of their application's user. Hence, to use dApp Share, one -has to use the custom authentication feature of Web3Auth. Also, the dApp Share is only returned to users who have enabled 2FA to their account. +One major thing to note here is that the `dappShare` is only available for custom verifiers and not in the standard Web3auth verifiers. This is done +to make sure that an application only has access to the corresponding share to the private key of their application's user. Hence, to use dApp Share, +one has to use the custom authentication feature of Web3Auth. Also, the dApp Share is only returned to users who have enabled 2FA to their account. ::: diff --git a/docs/sdk/pnp/unity/initialize.mdx b/docs/sdk/pnp/unity/initialize.mdx index 1ea829c28..3e8fd1996 100644 --- a/docs/sdk/pnp/unity/initialize.mdx +++ b/docs/sdk/pnp/unity/initialize.mdx @@ -10,19 +10,19 @@ import Tabs from "@theme/Tabs"; import web3authCS from "@site/static/guides/sdk/unity/web3authCS.png"; -After Installation, the next step to using Web3Auth is to Initialize the SDK. +After installation, the next step in using Web3Auth is to initialize the SDK. -However, Initialization is a two-step process: +However, initialization is a two-step process: -1. [Creating a Web3Auth Instance](#create-web3auth-instance) -2. [Setting up Web3Auth Options](#setting-up-web3auth-options) +1. [Creating a Web3Auth instance](#create-web3auth-instance) +2. [Setting up Web3Auth options](#setting-up-web3auth-options) -Please note that these are the most critical steps where you must pass on different parameters according to the preference of your project. -Additionally, You must configure Whitelabeling and Custom Authentication within this step if you wish to customize your Web3Auth Instance. +Please note that these are the most critical steps where you will need to pass different parameters according to your project's preference. +Additionally, you must configure whitelabeling and custom authentication within this step if you want to customize your Web3Auth instance. ## Create Web3Auth Instance -Attach a `Web3Auth.cs` script to your game object where you are planning to write your authentication code. +Attach a `Web3Auth.cs` script to your game object where you want to write your authentication code. :::tip @@ -55,7 +55,7 @@ Within your script, import the `Web3Auth` component in your class. Web3Auth web3Auth; ``` -Next create an instance within your `Start()` function by creating an instance of the component you just imported. +Next, you need to create an instance within your `Start()` function by creating an instance of the component you just imported. ```cs web3Auth = GetComponent(); @@ -66,8 +66,7 @@ web3Auth = GetComponent(); After instantiation, within your `Start()` function, set up the Web3Auth Options as follows: ```cs -web3Auth.setOptions(new Web3AuthOptions() -{ +web3Auth.setOptions(new Web3AuthOptions(){ }); ``` @@ -88,16 +87,16 @@ The Web3Auth Constructor takes a class `Web3AuthOptions` as input. This class ha -| Parameter | Description | -| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `clientId` | Your Web3Auth Client ID. You can get it from Web3Auth [Dashboard](https://dashboard.web3auth.io/) under project details. It's a mandatory field of type `string` | -| `network` | Defines the Web3Auth network. It's a mandatory field of type Network. | -| `redirectUrl` | URL that Web3Auth will redirect API responses upon successful authentication from browser. It's a mandatory field of type `Uri`. | -| `whiteLabel?` | WhiteLabel options for web3auth. It helps you define custom UI, branding, and translations for your brand app. It takes `WhiteLabelData` as a value. | -| `loginConfig?` | Login config for the custom verifiers. It takes `Dictionary` as a value. | -| `useCoreKitKey?` | Use CoreKit Key to get core kit key. It's an optional field with default value as `false`. | -| `chainNamespace?` | Chain Namespace [`EIP155` and `SOLANA`]. It takes `Web3Auth.ChainNamespace` as a value. | -| `mfaSettings?` | Allows developers to configure the Mfa settings for authentication. It takes `MfaSettings` as a value. | +| Parameter | Description | +| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | Your Web3Auth Client ID. You can get it from the Web3Auth [Dashboard](https://dashboard.web3auth.io/) under project details. It's a mandatory field of type `string` | +| `network` | Defines the Web3Auth network. It's a mandatory field of type Network. | +| `redirectUrl` | URL that Web3Auth will redirect API responses upon successful authentication from browser. It's a mandatory field of type `Uri`. | +| `whiteLabel?` | WhiteLabel options for web3auth. It helps you define custom UI, branding, and translations for your brand app. It takes `WhiteLabelData` as a value. | +| `loginConfig?` | Login config for the custom verifiers. It takes `Dictionary` as a value. | +| `useCoreKitKey?` | Use CoreKit Key to get core kit key. It's an optional field with default value as `false`. | +| `chainNamespace?` | Chain Namespace [`EIP155` and `SOLANA`]. It takes `Web3Auth.ChainNamespace` as a value. | +| `mfaSettings?` | Allows developers to configure the MFA settings for authentication. It takes `MfaSettings` as a value. | @@ -122,7 +121,8 @@ class Web3AuthOptions { :::tip -You can also configure your `client_id`, `redirect_url` and `network` within the script setting in Unity Editor. It will look something like this: +You can also configure your `client_id`, `redirect_url` and `network` within the script settings in the Unity Editor. It will look something like +this: diff --git a/docs/sdk/pnp/unity/install.mdx b/docs/sdk/pnp/unity/install.mdx index 7a7b014ab..3b3896400 100644 --- a/docs/sdk/pnp/unity/install.mdx +++ b/docs/sdk/pnp/unity/install.mdx @@ -21,7 +21,7 @@ You may encounter errors when importing this package into your existing project. To fix this problem you need to add the following line into the dependencies object which is inside the `Packages/manifest.json` file. ```json title="/Packages/manifest.json" -"com.unity.nuget.newtonsoft-json": "3.0.2" +"com.unity.nuget.newtonsoft-json": "3.2.1" ``` ::: @@ -46,9 +46,10 @@ check our documentation on how to integrate Nethereum it with Web3Auth [here](/c ### Configure Deep Link (for Mobile Devices) Unity SDK works on Unity deep linking features to redirect the callback from Web3Auth. Before building the application for Android/IOS you need to -register the redirect_uri that can be done easily by the tool provided inside the SDK. To achieve that, you need to follow the steps mentioned below. +register the redirect_uri, which can be easily done using the tool provided inside the SDK. To achieve that, you need to follow the steps mentioned +below. -- Open deep link generator tool provided by Web3Auth Unity SDK from `Window > Web3Auth > Deep Link Generator` +- Open the "Deep Link Generator" tool provided by Web3Auth Unity SDK from `Window > Web3Auth > Deep Link Generator` Deep Link Generator diff --git a/docs/sdk/pnp/unity/mfa.mdx b/docs/sdk/pnp/unity/mfa.mdx index d29a31dfb..00dc2c6df 100644 --- a/docs/sdk/pnp/unity/mfa.mdx +++ b/docs/sdk/pnp/unity/mfa.mdx @@ -5,13 +5,16 @@ displayed_sidebar: sdk description: "Web3Auth PnP Unity SDK - Multi Factor Authentication | Documentation - Web3Auth" --- +import TabItem from "@theme/TabItem"; +import Tabs from "@theme/Tabs"; + MFA is an extra layer of protection that verifies your identity when accessing your account. To ensure ownership, you must provide two or more different backup factors. You have the option to choose from the device, social, backup factor (seed phrase), and password factors to guarantee access to your Web3 account. Once you create a recovery factor, MFA is enabled, and your keys are divided into three shares for off-chain multi-sig, making the key self-custodial. With backup factors, you can easily recover your account if you lose access to your original device or help login into a new device. -For a dApp, we provide various options to set up Multi-Factor Authentication. You can customize the MFA screen by setting the `mfaLevel` argument. You +For a dApp, we provide several options to set up Multi-Factor Authentication. You can customize the MFA screen by setting the `mfaLevel` argument. You can enable or disable a backup factor and change their order. Currently, there are four values for `mfaLevel`: - `default`: presents the MFA screen every third login @@ -37,8 +40,8 @@ Choose the best options that suit your needs to ensure a safe and secure Web3 ex :::note Minimum Growth plan required -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature for free in the development environment. ::: @@ -78,10 +81,31 @@ public void login() :::note Minimum SCALE plan required This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **SCALE -Plan**. You can use this feature in the development environment for free. +Plan**. You can use this feature for free in the development environment. ::: +`MfaSetting` + + + + + +| Parameter | Description | +| ------------ | ------------------------------------------------------------------------------- | +| `enable` | Enable/Disable MFA. It accepts `bool` as a value. | +| `priority?` | Priority of MFA. It accepts `int` as a value, where valid range is from 1 to 4. | +| `mandatory?` | Mandatory/Optional MFA. It acccepts `bool` as a value. | + + + + ```cs public class MfaSetting { @@ -99,6 +123,9 @@ public class MfaSetting } ``` + + + ```cs title="Usage" using System; using System.Linq; diff --git a/docs/sdk/pnp/unity/unity.mdx b/docs/sdk/pnp/unity/unity.mdx index bb3826cc6..d3f1871d3 100644 --- a/docs/sdk/pnp/unity/unity.mdx +++ b/docs/sdk/pnp/unity/unity.mdx @@ -1,6 +1,7 @@ --- title: Web3Auth PnP Unity SDK displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP Unity SDK | Documentation - Web3Auth" image: "images/docs-meta-cards/sdk-reference-card.png" --- diff --git a/docs/sdk/pnp/unity/usage.mdx b/docs/sdk/pnp/unity/usage.mdx index 800ca7d6e..6c38fd697 100644 --- a/docs/sdk/pnp/unity/usage.mdx +++ b/docs/sdk/pnp/unity/usage.mdx @@ -15,12 +15,12 @@ Once you've installed and successfully initialized Web3Auth, you can use it to a #### `web3Auth.login(LoginParams)` -This function helps your user to trigger the login process. The login flow will be triggered based on the selected provider. You can view the list of +This function helps your users to trigger the login process. The login flow is triggered based on the selected provider. You can view the list of selected providers in the [provider](#provider) section. :::tip -Additionally, you can associate a function to be triggered on successful login. This function will receive the user's profile as a parameter. +Additionally, you can associate a function to be triggered on successful login. This function receives the user's profile as a parameter. ```cs void Start() @@ -62,13 +62,13 @@ private void onLogin(Web3AuthResponse response) | Parameter | Description | | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `loginProvider` | It sets the OAuth login method to be used. You can use any of the supported values are `GOOGLE`, `FACEBOOK`, `REDDIT`, `DISCORD`, `TWITCH`, `APPLE`, `LINE`, `GITHUB`, `KAKAO`, `LINKEDIN`, `TWITTER`, `WEIBO`, `WECHAT`, `EMAIL_PASSWORDLESS`. | -| `extraLoginOptions?` | It can be used to set the OAuth login options for corresponding `loginProvider`. For instance, you'll need to pass user's email address as. Default value for the field is `null`, and it accepts `ExtraLoginOptions` as a value. | -| `redirectUrl?` | Url where user will be redirected after successfull login. By default user will be redirected to same page where login will be initiated. Default value for the field is `null`, and accepts `Uri` as a value. | +| `extraLoginOptions?` | It can be used to set the OAuth login options for corresponding `loginProvider`. For instance, you'll need to pass the user's email address as. The Default value for the field is `null`, and it accepts `ExtraLoginOptions` as a value. | +| `redirectUrl?` | Url where user will be redirected after successfull login. By default user will be redirected to same page where login will be initiated. Default value for the field is `null`, and accepts `URI` as a value. | | `appState?` | It can be used to keep track of the app state when user will be redirected to app after login. Default is `null`, and accepts `string` as a value. | | `mfaLevel?` | Customize the MFA screen shown to the user during OAuth authentication. Default value for field is `MFALevel.DEFAULT`, which shows MFA screen every 3rd login. It accepts `MFALevel` as a value. | -| `dappShare?` | Custom verifier logins can get a dapp share returned to them post successful login. This is useful if the dapps want to use this share to allow users to login seamlessly. It accepts `string` as a value. | -| `curve?` | It will be used to determine the public key encoded in the jwt token which returned in `getUserInfo` function after user login. This parameter won't change format of private key returned by We3Auth. Private key returned by `getPrivKey` is always secp256k1. The default value is `Curve.SECP256K1`. | -| `sessionTime?` | It allows developers to configure the session management time. Session Time is in seconds, and takes `int` as a value. | +| `dappShare?` | Custom verifier logins can get a dapp share returned to them after a successful login. This is useful if the dapps want to use this share to allow users to login seamlessly. It accepts `string` as a value. | +| `curve?` | It is used to determine the public key encoded in the jwt token which returned in `getUserInfo` function after user login. This parameter won't change the format of private key returned by Web3Auth. Private key returned by `getPrivKey` is always secp256k1. The default value is `Curve.SECP256K1`. | +| `sessionTime?` | It allows developers to configure the session management time. Session Time is in seconds, and takes an `int` as a value. | @@ -137,7 +137,7 @@ public enum Provider ### `ExtraLoginOptions` The `LoginParams` class accepts the `ExtraLoginOptions` as an optional input, containing advanced options for custom authentication, email -passwordless login etc. This parameter can be considered as advanced login options needed for specific cases. +passwordless login, etc. This parameter can be considered as advanced login options needed for specific cases. ```cs LoginParams() { selectedLoginProvider, extraLoginOptions = ExtraLoginOptions() } @@ -156,26 +156,26 @@ LoginParams() { selectedLoginProvider, extraLoginOptions = ExtraLoginOptions() } | Parameter | Description | | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `additionalParams?` | Additional params in `Dictionary` format for OAuth login, use id_token(JWT) to authenticate with web3auth. | -| `domain?` | Your custom authentication domain in `string` format. For example, if you are using Auth0, it can be example.au.auth0.com. | +| `domain?` | Your custom authentication domain in `string` format. For example, if you are using Auth0, this could be example.au.auth0.com. | | `client_id?` | Client id in `string` format, provided by your login provider used for custom verifier. | -| `leeway?` | The value used to account for clock skew in JWT expirations. The value is in the seconds, and ideally should no more than 60 seconds or 120 seconds at max. It takes `string` as a value. | -| `verifierIdField?` | The field in JWT token which maps to verifier id. Please make sure you selected correct JWT verifier id in the developer dashboard. It takes `string` as a value. | -| `isVerifierIdCaseSensitive?` | `bool` to confirm Whether the verifier id field is case sensitive or not. | -| `display?` | Allows developers the configure the display of UI. It takes `Display` as a value. | -| `prompt?` | Prompt shown to the user during authentication process. It takes `Prompt` as a value. | -| `max_age?` | Max time allowed without reauthentication. If the last time user authenticated is greater than this value, then user must reauthenticate. It takes `string` as a value. | -| `ui_locales?` | The space separated list of language tags, ordered by preference. For instance `fr-CA fr en`. | -| `id_token_hint?` | It denotes the previously issued ID token. It takes `string` as a value. | +| `leeway?` | The value used to account for clock skew in JWT expirations. The value is in the seconds, and ideally should be no more than 60 seconds, with a maxium of 120 seconds. It takes `string` as a value. | +| `verifierIdField?` | The field in the JWT token that maps to verifier id. Please make sure you have selected the correct JWT verifier id in the Developer Dashboard. It takes `string` as a value. | +| `isVerifierIdCaseSensitive?` | `bool` to confirm whether the verifier id field is case sensitive or not. | +| `display?` | Allows developers to configure the display of UI. It takes `Display` as a value. | +| `prompt?` | Prompt shown to the user during the authentication process. It takes `Prompt` as a value. | +| `max_age?` | Maxium time allowed without reauthentication. If the last time the user authenticated is greater than this value, then the user must reauthenticate. It takes `string` as a value. | +| `ui_locales?` | The space separated list of language tags, ordered by preference. For example `fr-CA fr en`. | +| `id_token_hint?` | It specify the previously issued ID token. It takes `string` as a value. | | `id_token?` | JWT (ID Token) to be passed for login. | | `login_hint?` | It is used to send the user's email address during Email Passwordless login. It takes `string` as a value. | -| `acr_values?` | acc_values | +| `acr_values?` | acr_values | | `scope?` | The default scope to be used on authentication requests. The defaultScope defined in the Auth0Client is included along with this scope. It takes `string` as a value. | | `audience?` | The audience, presented as the aud claim in the access token, defines the intended consumer of the token. It takes `string` as a value. | | `connection?` | The name of the connection configured for your application. If null, it will redirect to the Auth0 Login Page and show the Login Widget. It takes `string` as a value. | | `state?` | state | -| `response_type?` | Defines which grant to execute for the authorization server. It takes `string` as a value. | -| `nonce?` | nonce | -| `redirect_uri?` | It can be used to specify the default url, where your custom jwt verifier can redirect your browser to with the result. If you are using Auth0, it must be whitelisted in the Allowed Callback URLs in your Auth0's application. | +| `response_type?` | Defines which grant to be execute for the authorization server. It takes `string` as a value. | +| `nonce?` | nonce value | +| `redirect_uri?` | It can be used to specify the default URL, where your custom JWT verifier can redirect your browser to with the result. If you are using Auth0, it must be whitelisted in the Allowed Callback URLs in your Auth0's application. | @@ -393,12 +393,12 @@ public void login() ### `web3Auth.logout()` -Trigger logout flow. This function doesn't take any parameters. A completable future containing void object is returned on successfull logout +Trigger logout flow. This function doesn't take parameters. A completable future containing a void object will be returned on successfull logout otherwise an error response is returned. :::tip -Additionally you can associate a function to be triggerred on successful logout. +Additionally you can associate a function to be triggered on successful logout. ```cs void Start() diff --git a/docs/sdk/pnp/unity/whitelabel.mdx b/docs/sdk/pnp/unity/whitelabel.mdx index f96a127f7..51f794340 100644 --- a/docs/sdk/pnp/unity/whitelabel.mdx +++ b/docs/sdk/pnp/unity/whitelabel.mdx @@ -9,13 +9,13 @@ import TabItem from "@theme/TabItem"; import Tabs from "@theme/Tabs"; import WhiteLabelShowcase from "@site/src/common/sdk/pnp/_whitelabel_showcase.mdx"; -For defining custom UI, branding, and translations for your brand app, you just need to specify an additional parameter within the `Web3AuthOptions` +For defining custom UI, branding, and translations for your branded app, you just need to add an additional parameter within the `Web3AuthOptions` class called `whiteLabel`. This parameter takes another object called `WhiteLabelData`. :::note This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth -Plan**. You can use this feature in the development environment for free. +Plan**. You can use this feature for free in the development environment. ::: diff --git a/docs/sdk/pnp/unreal/unreal.mdx b/docs/sdk/pnp/unreal/unreal.mdx index 0cb45bfc5..cd74b5480 100644 --- a/docs/sdk/pnp/unreal/unreal.mdx +++ b/docs/sdk/pnp/unreal/unreal.mdx @@ -1,6 +1,7 @@ --- title: Web3Auth PnP Unreal Engine SDK displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP Unreal Engine SDK | Documentation - Web3Auth" image: "images/docs-meta-cards/sdk-reference-card.png" --- diff --git a/docs/sdk/pnp/web/adapters/adapters.mdx b/docs/sdk/pnp/web/adapters/adapters.mdx index 2b29e2fb3..f9747fda7 100644 --- a/docs/sdk/pnp/web/adapters/adapters.mdx +++ b/docs/sdk/pnp/web/adapters/adapters.mdx @@ -1,6 +1,7 @@ --- title: Adapters for Web3Auth PnP Web SDKs displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth PnP Web Adapter SDKs | Documentation - Web3Auth" --- diff --git a/docs/sdk/pnp/web/adapters/openlogin.mdx b/docs/sdk/pnp/web/adapters/openlogin.mdx index 2e921a2a1..e9fddaa5e 100644 --- a/docs/sdk/pnp/web/adapters/openlogin.mdx +++ b/docs/sdk/pnp/web/adapters/openlogin.mdx @@ -24,8 +24,8 @@ import ConnectToExample from "@site/src/common/sdk/pnp/web/_connect-to-example.m The default adapter of Web3Auth is the `openlogin-adapter`. This adapter is a wrapper around the [`openlogin`](https://github.com/torusresearch/OpenLoginSdk) library from Web3Auth and enables the social login features. By default, Web3Auth has -certain configurations set to enable a quick integration, however, for customizing features, like [Whitelabel](/pnp/features/whitelabel), -[Custom Authentication](/pnp/features/custom-authentication), etc. you need to configure the Openlogin Adapter. With the Openlogin Adapter package +certain configurations set to enable a quick integration, however, for customizing features, like [Whitelabel](/features/whitelabel), +[Custom Authentication](/features/custom-authentication), etc. you need to configure the Openlogin Adapter. With the Openlogin Adapter package installed and instantiated, you can explore several options and customize the login experience of the user as per your needs. ## Basic Details diff --git a/docs/sdk/pnp/web/modal/custom-authentication.mdx b/docs/sdk/pnp/web/modal/custom-authentication.mdx index 469ee1235..17a0c40f9 100644 --- a/docs/sdk/pnp/web/modal/custom-authentication.mdx +++ b/docs/sdk/pnp/web/modal/custom-authentication.mdx @@ -13,8 +13,8 @@ have the ability to use your own Google Client ID and Dashboard to authenticate :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature in the development environment for free. ::: @@ -31,7 +31,7 @@ For enabling this, you need [Create a Verifier](/auth-provider-setup/verifiers) :::tip If you want to know more about setting up a verifier and how to use it, please refer to the -[Custom Authentication Documentation](/pnp/features/custom-authentication). +[Custom Authentication Documentation](/features/custom-authentication). ::: diff --git a/docs/sdk/pnp/web/modal/initialize.mdx b/docs/sdk/pnp/web/modal/initialize.mdx index 8242eebbe..5bf098876 100644 --- a/docs/sdk/pnp/web/modal/initialize.mdx +++ b/docs/sdk/pnp/web/modal/initialize.mdx @@ -67,7 +67,7 @@ interact with the respective blockchain networks. :::note It's mandatory to provide `privateKeyProvider` for your corresponding chain namespace. To know more in-depth about providers, have a look at your -[Providers reference](/sdk/helper-sdks/providers). +[Providers reference](/sdk/providers). ::: diff --git a/docs/sdk/pnp/web/modal/initiate-topup.mdx b/docs/sdk/pnp/web/modal/initiate-topup.mdx index b07462526..985a1bb8d 100644 --- a/docs/sdk/pnp/web/modal/initiate-topup.mdx +++ b/docs/sdk/pnp/web/modal/initiate-topup.mdx @@ -15,16 +15,8 @@ and accordingly gives you the option to seemless add money to your user's wallet :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. - -::: - -:::info - -This uses the [Torus EVM Wallet UI Plugin](/sdk/helper-sdks/plugins/evm-wallet) and -[Torus Solana Wallet UI Plugin](/sdk/helper-sdks/plugins/solana-wallet) for the respective chains. Please install and configure the packages before -using this function. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature in the development environment for free. ::: diff --git a/docs/sdk/pnp/web/modal/modal.mdx b/docs/sdk/pnp/web/modal/modal.mdx index 03e4e32ec..f4e13e0b9 100644 --- a/docs/sdk/pnp/web/modal/modal.mdx +++ b/docs/sdk/pnp/web/modal/modal.mdx @@ -1,6 +1,7 @@ --- title: " Web3Auth PnP Web Modal SDK" displayed_sidebar: sdk +sidebar_label: Overview description: " Web3Auth PnP Web Modal SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/pnp/web/modal/show-wallet-connect.mdx b/docs/sdk/pnp/web/modal/show-wallet-connect.mdx index a85f79b09..5654c19f6 100644 --- a/docs/sdk/pnp/web/modal/show-wallet-connect.mdx +++ b/docs/sdk/pnp/web/modal/show-wallet-connect.mdx @@ -13,14 +13,8 @@ details from a dApp like [OpenSea](https://opensea.io) and paste in it your show :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. - -::: - -:::info - -This uses the [Torus EVM Wallet UI Plugin](/sdk/helper-sdks/plugins/evm-wallet). Please install and configure the package before using this function. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature in the development environment for free. ::: diff --git a/docs/sdk/pnp/web/modal/usage.mdx b/docs/sdk/pnp/web/modal/usage.mdx index 59e0561a9..e831c4d92 100644 --- a/docs/sdk/pnp/web/modal/usage.mdx +++ b/docs/sdk/pnp/web/modal/usage.mdx @@ -55,7 +55,7 @@ On unsuccessful login, this function will return a `null` value. :::tip -Read more about connecting your users with the selected blockchain in the [Providers SDK Reference](/sdk/helper-sdks/providers). +Read more about connecting your users with the selected blockchain in the [Providers SDK Reference](/sdk/providers). ::: diff --git a/docs/sdk/pnp/web/modal/whitelabel.mdx b/docs/sdk/pnp/web/modal/whitelabel.mdx index 6fe235a98..c10ad17db 100644 --- a/docs/sdk/pnp/web/modal/whitelabel.mdx +++ b/docs/sdk/pnp/web/modal/whitelabel.mdx @@ -16,30 +16,31 @@ import PluginsExample from "@site/src/common/sdk/pnp/web/_plugins-example.mdx"; import UIConfig from "@site/src/common/sdk/pnp/web/_ui-config.mdx"; import UIConfigWhitelabelExample from "@site/src/common/sdk/pnp/web/_ui-config-whitelabel-example.mdx"; -Web3Auth is fully whitelabel with application branding to have a consistent user experience. For Whitelabeling, there are three different aspects -available for you. Web3Auth gives you the ability to define a custom UI, branding, and translations for your applications. All our SDKs support +Web3Auth is fully whitelabel with application branding to have a consistent user experience. For +Whitelabeling, there are three different aspects available for you. Web3Auth gives you the ability +to define a custom UI, branding, and translations for your applications. All our SDKs support Whitelabeling, giving granular customization capability across all our offerings. :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth -Plan**. You can use this feature in the development environment for free. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this +SDK in a production environment is the **Growth Plan**. You can use this feature in the development +environment for free. ::: Within the Web3Auth Plug and Play Modal SDK, whitelabeling can happen in 3 different places, -- [**Web3Auth Modal**](#web3auth-modal): You can whitelabel the Web3Auth Modal according to your needs, for this, you need to pass on the following - parameters: - - Within the [`uiConfig`](#uiconfig) parameter while instantiating Web3Auth, you can configure the Web3Auth Modal according to your application's - requirements. - - Change the visibility and order of methods appearing in Web3Auth modal by passing the [`modalConfig`](#modalconfig) in [`initModal`](#initmodal) - function, while initializing the SDK. -- [**Openlogin Adapter**](#openlogin-adapter): The redirect screens while logging in and constructing the key, can be customised according to your - common as well. For this, you need to pass on the `whiteLabel` configuration parameter to the +- [**Web3Auth Modal**](#web3auth-modal): You can whitelabel the Web3Auth Modal according to your + needs, for this, you need to pass on the following parameters: + - Within the [`uiConfig`](#uiconfig) parameter while instantiating Web3Auth, you can configure the + Web3Auth Modal according to your application's requirements. + - Change the visibility and order of methods appearing in Web3Auth modal by passing the + [`modalConfig`](#modalconfig) in [`initModal`](#initmodal) function, while initializing the SDK. +- [**Openlogin Adapter**](#openlogin-adapter): The redirect screens while logging in and + constructing the key, can be customised according to your common as well. For this, you need to + pass on the `whiteLabel` configuration parameter to the [`openlogin-adapter`](/sdk/pnp/web/adapters/openlogin). -- [**Torus Wallet Plugin**](#torus-wallet-plugin): The Torus Wallet Plugin can be customized according to your needs for helping you make wallet flows - within your application. For this, you need to pass on the `torusWalletOpts` configuration. ## Web3Auth Modal @@ -47,12 +48,14 @@ Within the Web3Auth Plug and Play Modal SDK, whitelabeling can happen in 3 diffe :::tip -Read more about Instantiating Web3Auth in the [Initialization SDK Reference](/sdk/pnp/web/modal/initialize#instantiating-web3auth) +Read more about Instantiating Web3Auth in the +[Initialization SDK Reference](/sdk/pnp/web/modal/initialize#instantiating-web3auth) ::: -While instantiating Web3Auth, the constructor takes an object with `Web3AuthOptions` as input. The `Web3AuthOptions` object is further taken in the -parameter of `uiConfig` which is the configuration for whitelabeling the Modal UI display properties. +While instantiating Web3Auth, the constructor takes an object with `Web3AuthOptions` as input. The +`Web3AuthOptions` object is further taken in the parameter of `uiConfig` which is the configuration +for whitelabeling the Modal UI display properties. #### `uiConfig` @@ -70,12 +73,14 @@ parameter of `uiConfig` which is the configuration for whitelabeling the Modal U :::tip -Read more about Initializing Web3Auth in the [Initialization SDK Reference](/sdk/pnp/web/modal/initialize#initializing-modal) +Read more about Initializing Web3Auth in the +[Initialization SDK Reference](/sdk/pnp/web/modal/initialize#initializing-modal) ::: -While initializing the Web3Auth Modal, the `initModal()` function takes an object with `modalConfig` as input. This object helps you configure the -different adapters available in the Web3Auth Modal. Further, the `modalConfig` object takes the parameter of `loginMethods` which helps you configure +While initializing the Web3Auth Modal, the `initModal()` function takes an object with `modalConfig` +as input. This object helps you configure the different adapters available in the Web3Auth Modal. +Further, the `modalConfig` object takes the parameter of `loginMethods` which helps you configure the social logins and their visibility in the modal. #### `initModal()` @@ -90,14 +95,15 @@ the social logins and their visibility in the modal. ## Openlogin Adapter -Web3Auth's Social Logins and Email Login run using the OpenLogin Flow. The whole OpenLogin user experience can also be whitelabeled using OpenLogin -Adapter settings. For this, you need to pass on the `whiteLabel` configuration parameter to the `adapterSettings` property of the +Web3Auth's Social Logins and Email Login run using the OpenLogin Flow. The whole OpenLogin user +experience can also be whitelabeled using OpenLogin Adapter settings. For this, you need to pass on +the `whiteLabel` configuration parameter to the `adapterSettings` property of the [`openlogin-adapter`](/sdk/pnp/web/adapters/openlogin). :::tip -Checkout the [`openlogin-adapter`](/sdk/pnp/web/adapters/openlogin) SDK Reference for more details on different configurations you can pass for -customizations. +Checkout the [`openlogin-adapter`](/sdk/pnp/web/adapters/openlogin) SDK Reference for more details +on different configurations you can pass for customizations. ::: @@ -107,21 +113,3 @@ customizations. ### Example - -## Torus Wallet Plugin - -The Torus Wallet Plugins help you get the functionalities of the Torus Wallets into your Web3Auth Instance. They help you get the UI of the Torus -Wallet Embedded Interface into your dApp, giving your user an overview of their wallet. - -:::tip - -Read more about Initializing the Torus EVM Wallet Plugin in the [Torus Wallet Connector Plugin SDK Reference](/sdk/helper-sdks/plugins/evm-wallet) - -::: - - - - -### Example - - diff --git a/docs/sdk/pnp/web/no-modal/custom-authentication.mdx b/docs/sdk/pnp/web/no-modal/custom-authentication.mdx index 2d635d5c7..88df100dc 100644 --- a/docs/sdk/pnp/web/no-modal/custom-authentication.mdx +++ b/docs/sdk/pnp/web/no-modal/custom-authentication.mdx @@ -21,15 +21,15 @@ For enabling this, you need [Create a Verifier](/auth-provider-setup/verifiers) :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature in the development environment for free. ::: :::tip If you want to know more about setting up a verifier and how to use it, please refer to the -[Custom Authentication Documentation](/pnp/features/custom-authentication). +[Custom Authentication Documentation](/features/custom-authentication). ::: diff --git a/docs/sdk/pnp/web/no-modal/initialize.mdx b/docs/sdk/pnp/web/no-modal/initialize.mdx index a6111b346..14b5f3987 100644 --- a/docs/sdk/pnp/web/no-modal/initialize.mdx +++ b/docs/sdk/pnp/web/no-modal/initialize.mdx @@ -16,15 +16,16 @@ import PluginsIntro from "@site/src/common/sdk/pnp/web/_plugins-intro.mdx"; import SubscribeEvents from "@site/src/common/sdk/pnp/web/_subscribe-events.mdx"; import Web3AuthNoModalOptions from "@site/src/common/sdk/pnp/web/_web3authcore-options.mdx"; -After Installation, the next step to use Web3Auth is to Initialize the SDK. However, the Initialization is a two-step process, with an additional two -steps for customizations, ie. +After Installation, the next step to use Web3Auth is to Initialize the SDK. However, the +Initialization is a two-step process, with an additional two steps for customizations, ie. - [Instantiation of Web3AuthNoModal](#instantiating-web3authnomodal) - [Configuration of Plugins](#configuring-plugins) _(optional)_ - [Initialization of Web3Auth](#initializing-web3auth) -Please note that these are the most critical steps where you need to pass on different parameters according to the preference of your project. -Additionally, Whitelabeling and Custom Authentication have to be configured within this step, if you wish to customize your Web3Auth Instance. +Please note that these are the most critical steps where you need to pass on different parameters +according to the preference of your project. Additionally, Whitelabeling and Custom Authentication +have to be configured within this step, if you wish to customize your Web3Auth Instance. ## Instantiating Web3AuthNoModal @@ -66,13 +67,14 @@ This Web3AuthNoModal constructor takes an object with `Web3AuthNoModalOptions` a #### `uiConfig` -For customizing the redirect screens while logging in and constructing the key, you need to pass on `WhiteLabelData` in the `uiConfig` parameter to -the `uiConfig` property of Web3Auth. +For customizing the redirect screens while logging in and constructing the key, you need to pass on +`WhiteLabelData` in the `uiConfig` parameter to the `uiConfig` property of Web3Auth. :::tip -This is just one of the aspects of whitelabeling you can achieve with Web3Auth. To know more in-depth about how you can Whitelabel your application -with Web3Auth, have a look at our [Whitelabeling SDK Reference](/pnp/features/whitelabel). +This is just one of the aspects of whitelabeling you can achieve with Web3Auth. To know more +in-depth about how you can Whitelabel your application with Web3Auth, have a look at our +[Whitelabeling SDK Reference](/features/whitelabel). ::: @@ -135,9 +137,11 @@ const web3auth = new Web3AuthNoModal({ ## Configuring Adapters -An adapter is a pluggable package that implements an `IAdapter` interface for a wallet within Web3Auth. An adapter can be plugged in and out of the -web3auth modal. Each adapter exposes the provider on successful user login that can be used to invoke RPC calls on the wallet and connected -blockchain. You can configure and use any of the adapters provided by Web3Auth, by just configuring them while initializing Web3AuthNoModal. +An adapter is a pluggable package that implements an `IAdapter` interface for a wallet within +Web3Auth. An adapter can be plugged in and out of the web3auth modal. Each adapter exposes the +provider on successful user login that can be used to invoke RPC calls on the wallet and connected +blockchain. You can configure and use any of the adapters provided by Web3Auth, by just configuring +them while initializing Web3AuthNoModal. ### Instantiating a Provider @@ -149,8 +153,9 @@ blockchain. You can configure and use any of the adapters provided by Web3Auth, ##### Example -Since we're using the `@web3auth/no-modal`, ie. the Plug and Play No Modal SDK, the `loginConfig` can include custom JWT-based authentication as well. -This way, we can use any of our preferred login providers and further setup their configs while logging the user in and passing over the +Since we're using the `@web3auth/no-modal`, ie. the Plug and Play No Modal SDK, the `loginConfig` +can include custom JWT-based authentication as well. This way, we can use any of our preferred login +providers and further setup their configs while logging the user in and passing over the `extraLoginOptions` in the `connectTo` function. Read more about this in the [Custom Authentication Guide](/sdk/pnp/web/no-modal/custom-authentication). @@ -180,7 +185,8 @@ This way, we can use any of our preferred login providers and further setup thei #### `init()` -The final step in the whole initialization process is the initialize the `Web3AuthNoModal` instance, ie. `web3auth` in our case. +The final step in the whole initialization process is the initialize the `Web3AuthNoModal` instance, +ie. `web3auth` in our case. This is done by calling the `init` function of the `web3auth` instance we created above. @@ -188,5 +194,5 @@ This is done by calling the `init` function of the `web3auth` instance we create await web3auth.init(); ``` -This is a simple function, that doesn't take any input, nor does return anything. It just makes sure that the `web3auth` instance is initialized and -ready for the user to log in. +This is a simple function, that doesn't take any input, nor does return anything. It just makes sure +that the `web3auth` instance is initialized and ready for the user to log in. diff --git a/docs/sdk/pnp/web/no-modal/initiate-topup.mdx b/docs/sdk/pnp/web/no-modal/initiate-topup.mdx index e7c9d5bde..dafdc3bfb 100644 --- a/docs/sdk/pnp/web/no-modal/initiate-topup.mdx +++ b/docs/sdk/pnp/web/no-modal/initiate-topup.mdx @@ -15,16 +15,8 @@ and accordingly gives you the option to seamlessly add money to your user's wall :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. - -::: - -:::info - -This uses the [Torus EVM Wallet UI Plugin](/sdk/helper-sdks/plugins/evm-wallet) and -[Torus Solana Wallet UI Plugin](/sdk/helper-sdks/plugins/solana-wallet) for the respective chains. Please install and configure the packages before -using this function. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature in the development environment for free. ::: diff --git a/docs/sdk/pnp/web/no-modal/no-modal.mdx b/docs/sdk/pnp/web/no-modal/no-modal.mdx index 15b79f469..a2975ef1b 100644 --- a/docs/sdk/pnp/web/no-modal/no-modal.mdx +++ b/docs/sdk/pnp/web/no-modal/no-modal.mdx @@ -1,6 +1,7 @@ --- title: "Web3Auth PnP Web No Modal SDK" displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Plug and Play No Modal SDK | Documentation - Web3Auth" --- diff --git a/docs/sdk/pnp/web/no-modal/show-wallet-connect.mdx b/docs/sdk/pnp/web/no-modal/show-wallet-connect.mdx index 36aca9bae..71afdccf9 100644 --- a/docs/sdk/pnp/web/no-modal/show-wallet-connect.mdx +++ b/docs/sdk/pnp/web/no-modal/show-wallet-connect.mdx @@ -13,14 +13,8 @@ details from a dApp like [OpenSea](https://opensea.io) and paste it into your sh :::note -This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the -**Growth Plan**. You can use this feature in the development environment for free. - -::: - -:::info - -This uses the [Torus EVM Wallet UI Plugin](/sdk/helper-sdks/plugins/evm-wallet). Please install and configure the package before using this function. +This is a paid feature and the minimum [pricing plan](https://web3auth.io/pricing.html) to use this SDK in a production environment is the **Growth +Plan**. You can use this feature in the development environment for free. ::: diff --git a/docs/sdk/pnp/web/no-modal/usage.mdx b/docs/sdk/pnp/web/no-modal/usage.mdx index 12d1caeb2..d1251feb2 100644 --- a/docs/sdk/pnp/web/no-modal/usage.mdx +++ b/docs/sdk/pnp/web/no-modal/usage.mdx @@ -65,7 +65,7 @@ provider type. :::tip -Read more about connecting your users with the selected blockchain in the [Providers SDK Reference](/sdk/helper-sdks/providers). +Read more about connecting your users with the selected blockchain in the [Providers SDK Reference](/sdk/providers). ::: diff --git a/docs/sdk/pnp/web/web.mdx b/docs/sdk/pnp/web/web.mdx index b8a1230ea..548348a8d 100644 --- a/docs/sdk/pnp/web/web.mdx +++ b/docs/sdk/pnp/web/web.mdx @@ -1,5 +1,6 @@ --- title: Web3Auth PnP Web SDKs +sidebar_label: Overview displayed_sidebar: sdk description: "Web3Auth PnP Web SDKs | Documentation - Web3Auth" --- @@ -88,37 +89,32 @@ Head on to the [`@web3auth/web3auth-wagmi-connector`](/sdk/pnp/web/wagmi-connect ## Helper SDKs -### Provider packages +### Wallet Services -For making RPC calls within your dApp, Web3Auth exposes respective providers for different chains. This provider can be used to interact with the -connected chain using exposed functions within the provider. Currently Web3Auth supports providers for both EVM and Solana chains. For other chains, -one can easily get the private key from the Web3Auth SDK. +Web3Auth Wallet Services offer modular, pluggable enhancements for your Web3Auth-integrated wallet, designed to elevate both functionality and user +experience within your application. These services facilitate seamless integration, providing a comprehensive set of features without necessitating +additional UI development. From sophisticated wallet functionality to user engagement tools and efficient transaction management, Web3Auth Wallet +Services are tailored to meet the needs of modern day dApp experiences. :::tip -Checkout the [Providers SDK Reference](/sdk/helper-sdks/providers) to learn more. - -- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/helper-sdks/providers/evm) -- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/helper-sdks/providers/solana) -- [Common Key Provider for other Blockchains `@web3auth/base-provider`](/sdk/helper-sdks/providers/common) +Head on to the [`@web3auth/wallet-services-plugin`](/sdk/wallet-services/) to get started. ::: -### Plugin packages - -Plugins extend the functionality of Web3Auth, helping you to add more features to your application. These features can be used to extend the UI -functionalities, making your Web3Auth instance more interoperable, adding wallet features and a lot more! +### Provider packages -Currently, we support UI plugins for wallet operations, helping you with flows to add funds, manage transactions, provide wallet UI and much more. -This helps you avoid making wallet flows within your application. Additionally, for interoperability with multiple applications, these packages give -you the advantage of using the same key from Web3Auth across multiple applications. +For making RPC calls within your dApp, Web3Auth exposes respective providers for different chains. This provider can be used to interact with the +connected chain using exposed functions within the provider. Currently Web3Auth supports providers for both EVM and Solana chains. For other chains, +one can easily get the private key from the Web3Auth SDK. :::tip -Checkout the [Plugins SDK Reference](/sdk/helper-sdks/plugins) to learn more. +Checkout the [Providers SDK Reference](/sdk/providers) to learn more. -- [EVM Wallet UI Plugin `@web3auth/torus-wallet-connector-plugin`](/sdk/helper-sdks/plugins/evm-wallet) -- [Solana Wallet UI Plugin `@web3auth/solana-wallet-connector-plugin`](/sdk/helper-sdks/plugins/solana-wallet) +- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/providers/evm) +- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/providers/solana) +- [Common Key Provider for other Blockchains `@web3auth/base-provider`](/sdk/providers/common) ::: diff --git a/docs/sdk/helper-sdks/providers/common.mdx b/docs/sdk/providers/common.mdx similarity index 100% rename from docs/sdk/helper-sdks/providers/common.mdx rename to docs/sdk/providers/common.mdx diff --git a/docs/sdk/helper-sdks/providers/evm.mdx b/docs/sdk/providers/evm.mdx similarity index 100% rename from docs/sdk/helper-sdks/providers/evm.mdx rename to docs/sdk/providers/evm.mdx diff --git a/docs/sdk/helper-sdks/providers/providers.mdx b/docs/sdk/providers/providers.mdx similarity index 81% rename from docs/sdk/helper-sdks/providers/providers.mdx rename to docs/sdk/providers/providers.mdx index 19bb5ed68..fd22fa21f 100644 --- a/docs/sdk/helper-sdks/providers/providers.mdx +++ b/docs/sdk/providers/providers.mdx @@ -1,7 +1,7 @@ --- title: Providers - Web3Auth -sidebar_label: Providers displayed_sidebar: sdk +sidebar_label: Overview description: "Web3Auth Providers | Documentation - Web3Auth" --- @@ -11,10 +11,10 @@ blockchain networks, in case of SSS based infrastructure. For MPC, you can only Currently, Web3Auth supports the following providers: -- [EIP1193 Provider for EVM Compatible Chains](/sdk/helper-sdks/providers/evm) -- [Solana Provider for Solana Blockchain](/sdk/helper-sdks/providers/solana) -- [XRPL Provider for XRPL Blockchain](/sdk/helper-sdks/providers/xrpl) -- [Common Provider for Other Blockchains](/sdk/helper-sdks/providers/common) +- [EIP1193 Provider for EVM Compatible Chains](/sdk/providers/evm) +- [Solana Provider for Solana Blockchain](/sdk/providers/solana) +- [XRPL Provider for XRPL Blockchain](/sdk/providers/xrpl) +- [Common Provider for Other Blockchains](/sdk/providers/common) ## Base Type Reference for Web3Auth Providers diff --git a/docs/sdk/helper-sdks/providers/solana.mdx b/docs/sdk/providers/solana.mdx similarity index 100% rename from docs/sdk/helper-sdks/providers/solana.mdx rename to docs/sdk/providers/solana.mdx diff --git a/docs/sdk/helper-sdks/providers/xrpl.mdx b/docs/sdk/providers/xrpl.mdx similarity index 99% rename from docs/sdk/helper-sdks/providers/xrpl.mdx rename to docs/sdk/providers/xrpl.mdx index 41bb1e467..23b5fd109 100644 --- a/docs/sdk/helper-sdks/providers/xrpl.mdx +++ b/docs/sdk/providers/xrpl.mdx @@ -101,7 +101,7 @@ For getting the Chain Config for XRPL Chain, you need to use the `getXRPLChainCo ```tsx export declare const getXRPLChainConfig: ( network: XRPLNetworkType, - customChainConfig?: Partial> + customChainConfig?: Partial>, ) => CustomChainConfig & Pick; ``` diff --git a/docs/sdk/sdk.mdx b/docs/sdk/sdk.mdx index fcc25575b..66e0c76f3 100644 --- a/docs/sdk/sdk.mdx +++ b/docs/sdk/sdk.mdx @@ -1,8 +1,8 @@ --- -title: SDK Reference +title: Explore Web3Auth SDKs hide_table_of_contents: true -hide_title: true displayed_sidebar: sdk +sidebar_label: Overview image: "images/docs-meta-cards/sdk-reference-card.png" description: "SDK Reference | Documentation - Web3Auth" --- @@ -11,78 +11,3 @@ import SDKReferenceCards from "@site/src/components/SDKReferenceCards"; import Tiles from "@theme/Tiles"; - -## Wallet Services - -export const WalletServicesGroupData = [ - { - name: "", - description: - "Enable your application to utilize production-ready wallet UI screens. Take control of and personalize the wallet interface, and optionally, activate an embedded wallet for your users.", - tiles: [ - { - key: "ws-plugin", - title: "Wallet Services Plugin", - icon: "logo-js.png", - path: "/sdk/wallet-services/", - }, - { - key: "pregenerate-wallet", - title: "Pregenerate Wallet API", - icon: "logo-js.png", - path: "/sdk/wallet-services/pregenerate-wallet/", - }, - ], - }, -]; - - - -## Helper SDKs - -export const HelperSDKGroupData = [ - { - name: "", - description: "Add additional functionalities to your Web3Auth integration with our Helper SDKs.", - tiles: [ - { - key: "provider-evm", - title: "EVM Chain Provider SDK", - icon: "logo-js.png", - path: "/sdk/helper-sdks/providers/evm/", - }, - { - key: "provider-solana", - title: "Solana Provider SDK", - icon: "logo-js.png", - path: "/sdk/helper-sdks/providers/solana/", - }, - { - key: "provider-xrpl", - title: "XRPL Provider SDK", - icon: "logo-js.png", - path: "/sdk/helper-sdks/providers/xrpl/", - }, - { - key: "provider-common", - title: "Common Key Provider SDK", - icon: "logo-js.png", - path: "/sdk/helper-sdks/providers/common", - }, - // { - // key: "plugin-evm", - // title: "EVM Wallet UI Plugin", - // icon: "logo-js.png", - // path: "/sdk/helper-sdks/plugins/evm-wallet/", - // }, - { - key: "plugin-solana", - title: "Solana Wallet UI Plugin", - icon: "logo-js.png", - path: "/sdk/helper-sdks/plugins/solana-wallet/", - }, - ], - }, -]; - - diff --git a/docs/sdk/wallet-ecosystems/safeauth.mdx b/docs/sdk/wallet-ecosystems/safeauth.mdx index 2bd511ce4..2dea1fd04 100644 --- a/docs/sdk/wallet-ecosystems/safeauth.mdx +++ b/docs/sdk/wallet-ecosystems/safeauth.mdx @@ -24,38 +24,6 @@ and **SafeAuth Kit integration**. ::: -
- - What is an EOA? - -
-

- An{" "} - - EOA, or externally-owned account - {" "} - is a type of Ethereum account that is controlled by a private key. EOAs can be created through Web3Auth, or by using external wallets such as - MetaMask, Coinbase Wallet, Rainbow Wallet, etc. -

-

- On the other hand, there are contract accounts that are controlled by smart contract codes and do not have their own private key. Safe's - smart wallet is a contract account that has{" "} - - enhanced capabilities, such as gas sponsorship and batched transactions. - -

-

- Since contract accounts do not have their own private key, they require a signer to initiate transaction flows and produce signatures. - Signers are usually EOAs that authorize actions taken by the contract account via a signature. -

-

- In this integration, the user's EOA (from Web3Auth) serves as the signer for their smart wallet (from Safe). The smart wallet (Safe) holds all - assets and submits all transactions to the network. However, the signer (Web3Auth) is responsible for producing signatures and "kicking off" - transaction flows. -

-
-
- ## Install SafeAuth Kit To get started, install the [`@safe-global/auth-kit`](https://www.npmjs.com/package/@safe-global/auth-kit) SDK from Safe. diff --git a/docs/sdk/wallet-services/pregenerate-wallet.mdx b/docs/sdk/wallet-services/pregenerate-wallet.mdx deleted file mode 100644 index c753a50aa..000000000 --- a/docs/sdk/wallet-services/pregenerate-wallet.mdx +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: Pregenerated Wallets API -hide_table_of_contents: true -hide_title: true -displayed_sidebar: sdk -image: "images/docs-meta-cards/sdk-reference-card.png" -description: "Pregenerated Wallets API | Documentation - Web3Auth" ---- - -import React, { useState, useEffect } from "react"; -import axios from "axios"; -import "../../../src/css/custom.css"; - -export default function LookupAPIPage() { - const networkOptions = [ - "sapphire_mainnet", "sapphire_devnet" - ]; - - const constructURL = () => { - const baseUrl = "https://lookup.web3auth.io/lookup"; - const queryParams = new URLSearchParams(formData); - - const readableParams = []; - queryParams.forEach((value, key) => { - readableParams.push( - - {key}={value}& - - ); - }); - - return ( -
- GET {baseUrl}?{readableParams} -
- ); - }; - - const [formData, setFormData] = useState({ - verifier: 'w3a-google-demo', - verifierId: 'devrel@web3auth.io', - web3AuthNetwork: 'sapphire_mainnet', - clientId: 'BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ' - }); - const [isLoading, setIsLoading] = useState(false); - const [response, setResponse] = useState(null); - const [error, setError] = useState(''); - - const handleChange = (e) => { - setFormData({ ...formData, [e.target.name]: e.target.value }); - }; - - const handleSubmit = async (e) => { - e.preventDefault(); - setIsLoading(true); - setResponse(null); - setError(''); - - try { - const res = await axios.get(`https://lookup.web3auth.io/lookup`, { params: formData }); - setResponse(JSON.stringify(res.data, null, 2)); - } catch (err) { - setError(err.message); - } finally { - setIsLoading(false); - } - }; - - useEffect(() => { - const fetchInitialData = async () => { - setIsLoading(true); - try { - const res = await axios.get(`https://lookup.web3auth.io/lookup`, { params: formData }); - setResponse(JSON.stringify(res.data, null, 2)); - } catch (err) { - setError(err.message); - } finally { - setIsLoading(false); - } - }; - - fetchInitialData(); - }, []); - - - return ( - <> -

Pregenerated Wallets API

-

The Pregenerated Wallets API allows you to create user wallets using just an email or social account, bypassing traditional signup. Users can claim these wallets later, simplifying the onboarding process.

- -

Important: Access to this API is gated and available only on the Scale plan and above.

- - -

HTTP Request

- {constructURL()} - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterDescriptionValue
verifier - The verifier name can be found on your Web3Auth dashboard. To learn more about verifiers, click here. -
verifierIdThe verifier ID value. One of the ways to get it is via the response to the getUserInfo() method.
web3AuthNetworkName of the Web3Auth network your project is deployed on. - -
clientIdThe client ID for your project. This can also be found on the Web3Auth dashboard.
-
-

Edit parameters and click submit to see the response in the terminal.

-
-
- -
-
- -

Response

-
- {isLoading &&

Request sent...

} - {response &&
{response}
} - {error &&

{error}

} -
- - ); - -} diff --git a/docs/troubleshooting/different-private-key.mdx b/docs/troubleshooting/different-private-key.mdx index b069e0f01..9be78b292 100644 --- a/docs/troubleshooting/different-private-key.mdx +++ b/docs/troubleshooting/different-private-key.mdx @@ -1,7 +1,7 @@ --- title: Different Private Keys/ Wallet Address across Integrations image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Different Private Keys across Integrations | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/error-429.mdx b/docs/troubleshooting/error-429.mdx index 9d6931435..04028276b 100644 --- a/docs/troubleshooting/error-429.mdx +++ b/docs/troubleshooting/error-429.mdx @@ -1,7 +1,7 @@ --- title: Error 429 (Infura RPC Endpoint) image: "images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Error 429 - Infira RPC Endpoint | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/jwt-errors.mdx b/docs/troubleshooting/jwt-errors.mdx index ceb84dd56..e04ba99e2 100644 --- a/docs/troubleshooting/jwt-errors.mdx +++ b/docs/troubleshooting/jwt-errors.mdx @@ -1,7 +1,7 @@ --- title: JWT Errors image: "images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "JWT Errors | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/metro-issues.mdx b/docs/troubleshooting/metro-issues.mdx index 8310b7b05..ca0da2bbb 100644 --- a/docs/troubleshooting/metro-issues.mdx +++ b/docs/troubleshooting/metro-issues.mdx @@ -1,7 +1,7 @@ --- title: Bundler Polyfill Issues - React Native Metro image: "/docs/images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Bundler Polyfill Issues - React Native Metro | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/popup-blocked-issue.mdx b/docs/troubleshooting/popup-blocked-issue.mdx index ae8950150..8362de994 100644 --- a/docs/troubleshooting/popup-blocked-issue.mdx +++ b/docs/troubleshooting/popup-blocked-issue.mdx @@ -1,7 +1,7 @@ --- title: Popup Blocked Issue image: "images/docs-meta-cards/documentation-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Popup blocked issue | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/react-big-int-error.mdx b/docs/troubleshooting/react-big-int-error.mdx index f64cb4ecc..c0150de06 100644 --- a/docs/troubleshooting/react-big-int-error.mdx +++ b/docs/troubleshooting/react-big-int-error.mdx @@ -2,7 +2,7 @@ title: Big Int error in React production build. sidebar_label: Big Int React Error image: "images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Getting a 'Cannot convert BigInt value to a number' error in your React production build? Here's how to fix it." --- diff --git a/docs/troubleshooting/sdk-errors-warnings.mdx b/docs/troubleshooting/sdk-errors-warnings.mdx index d96402a03..38bb5807b 100644 --- a/docs/troubleshooting/sdk-errors-warnings.mdx +++ b/docs/troubleshooting/sdk-errors-warnings.mdx @@ -1,7 +1,7 @@ --- title: SDK Errors & Warnings image: "/docs/images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "SDK Errors & Warnings | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/supported-browsers.mdx b/docs/troubleshooting/supported-browsers.mdx index 229f522cd..a8662460a 100644 --- a/docs/troubleshooting/supported-browsers.mdx +++ b/docs/troubleshooting/supported-browsers.mdx @@ -1,7 +1,7 @@ --- title: Supported Browsers List image: "images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Supported Browsers List | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/svelte-issues.mdx b/docs/troubleshooting/svelte-issues.mdx index f99c5464b..2e4ff6a8e 100644 --- a/docs/troubleshooting/svelte-issues.mdx +++ b/docs/troubleshooting/svelte-issues.mdx @@ -1,7 +1,7 @@ --- title: Bundler Polyfill Issues - Svelte with Vite image: "/docs/images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Bundler Polyfill Issues - Svelte with Vite | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/troubleshooting.mdx b/docs/troubleshooting/troubleshooting.mdx index d5910d155..66bb15e0b 100644 --- a/docs/troubleshooting/troubleshooting.mdx +++ b/docs/troubleshooting/troubleshooting.mdx @@ -1,7 +1,8 @@ --- title: Troubleshooting with Web3Auth +sidebar_label: Overview image: "/docs/images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Troubleshooting with Web3Auth | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/vite-issues.mdx b/docs/troubleshooting/vite-issues.mdx index d8d9a5eee..6b5362d72 100644 --- a/docs/troubleshooting/vite-issues.mdx +++ b/docs/troubleshooting/vite-issues.mdx @@ -1,7 +1,7 @@ --- title: Bundler Polyfill Issues - Vite image: "/docs/images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Bundler Polyfill Issues - Vite | Documentation - Web3Auth" --- diff --git a/docs/troubleshooting/webpack-issues.mdx b/docs/troubleshooting/webpack-issues.mdx index bb0232c69..073cf3a29 100644 --- a/docs/troubleshooting/webpack-issues.mdx +++ b/docs/troubleshooting/webpack-issues.mdx @@ -1,7 +1,7 @@ --- title: Bundler Polyfill Issues - Webpack 5 image: "images/docs-meta-cards/troubleshoot-card.png" -displayed_sidebar: docs +displayed_sidebar: resources description: "Bundler Polyfill Issues - Webpack 5 | Documentation - Web3Auth" --- diff --git a/docs/what-is-web3auth.mdx b/docs/what-is-web3auth.mdx index 5297b40c4..0445f7faf 100644 --- a/docs/what-is-web3auth.mdx +++ b/docs/what-is-web3auth.mdx @@ -9,7 +9,7 @@ import ModalAnim from "@site/src/components/ModalAnim"; import SDKReferenceCards from "@site/src/components/SDKReferenceCards"; Web3Auth is a pluggable wallet infrastructure for Web3 wallets and applications. It streamlines the onboarding of both mainstream and crypto native -users in under a minute by providing experiences that they're most comfortable with. With support for all OAuth based logins systems, web & mobile +users in under a minute by providing experiences that they're most comfortable with. With support for all OAuth-based login systems, web & mobile native platforms, Web3Auth provides a seamless onboarding experience for your users. ## What does Web3Auth do? @@ -27,24 +27,24 @@ opt for a passwordless registration where a sign-in link is sent directly to the **Customizable Login Systems:** Developers have the flexibility to create their own login systems, incorporating traditional methods and Web3Auth's wallet management infrastructure. This can be integrated into existing user bases or authentication processes without the need for migration. -** Comprehensive Web3 Wallet/Key Management**: Web3Auth's MPC-based wallet management infrastructure provides secure, non-custodial wallet management, +**Comprehensive Web3 Wallet/Key Management**: Web3Auth's MPC-based wallet management infrastructure provides secure, non-custodial wallet management, where users maintain control of their cryptographic key pair. The login service only accesses a single share, preventing the provider from retrieving the user's wallet independently. -**Effortless Wallet Recovery:** Multiple factor authentication methods, such as social accounts, email, SMS, or trusted devices, facilitate easy key +**Effortless Wallet Recovery:** Multiple-factor authentication methods, such as social accounts, email, SMS, or trusted devices, facilitate easy key recovery. Users can restore their wallets without fear of losing them. ## Is Web3Auth a Wallet? -Web3Auth isn't a wallet itself, but serves as an essential wallet infrastructure that can be integrated seamlessly into any application. Its primary +Web3Auth isn't a wallet itself but serves as an essential wallet infrastructure that can be integrated seamlessly into any application. It's primary function is to offer more tailored flows for decentralized applications (dApps) or even blockchain wallets alike, solving the user onboarding and key management problem. For a dApp, using a traditional wallet might seem straightforward, but it can limit control over the user flow and necessitate users' understanding of complex blockchain transactions. Web3Auth helps avoid these complications by allowing for customized flow adjustments based on specific needs. -Implementing Web3Auth yields a standard cryptographic key provider unique to each user and application. This key provider, that can be used to sign -transactions or perform other wallet operations, gives developers the flexibility to create a custom wallet within their application or utilize one of +Implementing Web3Auth yields a standard cryptographic key provider unique to each user and application. This key provider can be used to sign +transactions or perform other wallet operations gives developers the flexibility to create a custom wallet within their application or utilize one of Web3Auth's pre-existing external wallet adapters. Although it significantly enhances wallet functionality, it's important to note that Web3Auth remains a wallet infrastructure, not a wallet in itself. @@ -59,14 +59,14 @@ geographical regions. This was primarily due to the fixed number of nodes in the response to fluctuating load levels. To address these issues, Web3Auth launched the Sapphire Network, a significant infrastructure upgrade designed to enhance the scalability and performance of Web3Auth. -Web3Auth's Sapphire Network is a globally available, horizontally scalable and fault tolerant network that ensures an extremely fast, light-weight, -and modular authentication system for a new generation of dApps. Under the hood, Sapphire retains our distributed MPC architecture and operates each +Web3Auth's Sapphire Network is a globally available, horizontally scalable and fault-tolerant network that ensures an extremely fast, lightweight, and +modular authentication system for a new generation of dApps. Under the hood, Sapphire retains our distributed MPC architecture and operates each “node” setup globally. Each “node” setup runs a coordinator that deploys Kubernetes orchestrations in different regions. These orchestrations sync within the “nodes” themselves and communicate with other nodes to conduct distributed key generations (DKGs), TSSs and resharing schemes. This allows for: -- Sapphire to be available in multiple regions around the world - currently US central, South America, Asia and West Europe, with more to come. This - directly contributes to uniform low login, authentication and signing speeds across the globe. +- Sapphire is to be available in multiple regions around the world - currently US Central, South America, Asia and West Europe, with more to come. + This directly contributes to uniform low login, authentication and signing speeds across the globe. - Regional orchestrations operate on a stateless horizontally scalable architecture on demand, unlocking prior key generation bottlenecks. This means that, as the number of users and requests increase, the network can effortlessly expand its capacity to handle them, ensuring seamless, diff --git a/docusaurus.config.ts b/docusaurus.config.ts index e73dd9dd7..606321537 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -38,7 +38,8 @@ const config: Config = { }, announcementBar: { id: "sign_up_for_wallets_ux_unconference", - content: 'Secure your spot for the next community call! Sign up now →', + content: + 'Secure your spot for the next community call! Sign up now →', isCloseable: true, }, colorMode: { @@ -73,6 +74,7 @@ const config: Config = { { label: "Resources", type: "dropdown", + to: "/resources", position: "left", items: [ { @@ -99,6 +101,7 @@ const config: Config = { { label: "Help", type: "dropdown", + to: "/troubleshooting", position: "left", items: [ { @@ -153,10 +156,13 @@ const config: Config = { { docs: { routeBasePath: "/", - breadcrumbs: false, + breadcrumbs: true, editUrl: githubEditUrl, sidebarPath: require.resolve("./sidebars.js"), - remarkPlugins: [remarkMath, [require("@docusaurus/remark-plugin-npm2yarn"), { sync: true }]], + remarkPlugins: [ + remarkMath, + [require("@docusaurus/remark-plugin-npm2yarn"), { sync: true }], + ], rehypePlugins: [[rehypeKatex, { strict: false }]], }, theme: { @@ -169,9 +175,17 @@ const config: Config = { path: "src/pages", routeBasePath: "/", include: ["**/**.{js,jsx,ts,tsx,md,mdx}"], - exclude: ["**/_*.{js,jsx,ts,tsx,md,mdx}", "**/_*/**", "**/*.test.{js,jsx,ts,tsx}", "**/__tests__/**"], + exclude: [ + "**/_*.{js,jsx,ts,tsx,md,mdx}", + "**/_*/**", + "**/*.test.{js,jsx,ts,tsx}", + "**/__tests__/**", + ], mdxPageComponent: "@theme/MDXPage", - remarkPlugins: [remarkMath, [require("@docusaurus/remark-plugin-npm2yarn"), { sync: true }]], + remarkPlugins: [ + remarkMath, + [require("@docusaurus/remark-plugin-npm2yarn"), { sync: true }], + ], rehypePlugins: [[rehypeKatex, { strict: false }]], beforeDefaultRemarkPlugins: [], beforeDefaultRehypePlugins: [], @@ -185,7 +199,10 @@ const config: Config = { ], plugins: [ path.resolve(__dirname, "plugins", "docusaurus-plugin-guides"), - [path.resolve(__dirname, "plugins", "docusaurus-plugin-virtual-files"), { rootDir: ".integrationBuilderCache" }], + [ + path.resolve(__dirname, "plugins", "docusaurus-plugin-virtual-files"), + { rootDir: ".integrationBuilderCache" }, + ], path.resolve(__dirname, "plugins", "node-polyfills"), [ "@docusaurus/plugin-client-redirects", @@ -207,10 +224,6 @@ const config: Config = { from: "/developing-with-web3auth/", to: "/quick-start", }, - { - from: "/sdk/web/plugins/torus-wallet", - to: "/sdk/helper-sdks/plugins/evm-wallet", - }, { from: "/sdk/web/modal/wagmi-connector", to: "/sdk/pnp/web/wagmi-connector", @@ -251,26 +264,6 @@ const config: Config = { from: "/overview/how-web3auth-works", to: "/how-web3auth-works", }, - { - from: "/overview/web3auth-and-wallets", - to: "/product-fit/web3auth-for-wallets", - }, - { - from: "/overview/web3auth-for-wallets", - to: "/product-fit/web3auth-for-wallets", - }, - { - from: "/overview/web3auth-for-dapps", - to: "/product-fit/web3auth-for-dapps", - }, - { - from: "/overview/user-flow", - to: "/user-flow", - }, - { - from: "/product-fit/user-flow", - to: "/user-flow", - }, { from: "/overview/key-management/", to: "/infrastructure/", @@ -287,50 +280,6 @@ const config: Config = { from: "/infrastructure/technical-architecture/", to: "/infrastructure/", }, - { - from: "/whitelabeling", - to: "/pnp/features/whitelabel/", - }, - { - from: "/whitelabel/", - to: "/pnp/features/whitelabel/", - }, - { - from: "/interoperability", - to: "/pnp/features/interoperability", - }, - { - from: "/dapp-share", - to: "/pnp/features/dapp-share", - }, - { - from: "/authenticating-users/", - to: "/pnp/features/server-side-verification/", - }, - { - from: "/authenticating-users/overview", - to: "/pnp/features/server-side-verification/", - }, - { - from: "/server-side-verification/", - to: "/pnp/features/server-side-verification/", - }, - { - from: "/server-side-verification/social-login-users", - to: "/pnp/features/server-side-verification/social-login-users", - }, - { - from: "/server-side-verification/external-wallets", - to: "/pnp/features/server-side-verification/external-wallets", - }, - { - from: "/developing-with-web3auth/adapters", - to: "/pnp/features/connect-external-wallets", - }, - { - from: "/connect-external-wallets", - to: "/pnp/features/connect-external-wallets", - }, { from: "/developer-dashboard/", to: "/dashboard-setup/", @@ -372,8 +321,8 @@ const config: Config = { to: "/sdk/pnp/web/modal/mfa", }, { - from: "/sdk/helper-sdks/providers/other", - to: "/sdk/helper-sdks/providers/common", + from: "/sdk/providers/other", + to: "/sdk/providers/common", }, { from: "/sdk/tkey/initialization", @@ -495,33 +444,105 @@ const config: Config = { from: "/account-abstraction/safeauth", to: "/sdk/wallet-ecosystems/safeauth", }, + { + from: "/user-flow", + to: "/features/mfa", + }, + { + from: "/product-fit/partner-products", + to: "/features/account-abstraction", + }, + { + from: "/product-fit/enterprise", + to: "/product/wallet-ecosystems", + }, + { + from: "/product-fit/pnp-vs-core-kit", + to: "/product/pnp", + }, + { + from: "/product-fit/web3auth-for-wallets", + to: "/product/#web3auth-for-wallets", + }, + { + from: "/product-fit/web3auth-for-dapps", + to: "/product/#web3auth-for-dapps", + }, + { + from: "/pnp/features/connect-external-wallets", + to: "/features/wallet-aggregation", + }, + { + from: "/pnp/features/dapp-share", + to: "/features/mfa", + }, + { + from: "/pnp/going-live", + to: "/going-live", + }, + { + from: "/core-kit/going-live", + to: "/going-live", + }, + { + from: "/auth-provider-setup/federated-identity-providers", + to: "/auth-provider-setup/authentication-service-providers", + }, + { + from: "/auth-provider-setup/byo-jwt-providers", + to: "/auth-provider-setup/byo-jwt-provider", + }, ], createRedirects(existingPath) { if (existingPath.includes("/guides/")) { return [existingPath.replace("/guides/", "/content-hub/guides/")]; } - existingPath.replace("https://blog.web3auth.io", "/blogs/"); - existingPath.replace("https://blog.web3auth.io", "/blog/"); - existingPath.replace("https://blog.web3auth.io/", "/content-hub/blog/"); - existingPath.replace("https://blog.web3auth.io", "/content-hub/blogs/"); - + if (existingPath.includes("/features/whitelabel")) { + return [existingPath.replace("/pnp/features/whitelabel/", "/features/whitelabel")]; + } + if (existingPath.includes("/features/server-side-verification")) { + return [ + existingPath.replace( + "/pnp/features/server-side-verification/", + "/features/server-side-verification", + ), + ]; + } + if (existingPath.includes("/product/")) { + return [existingPath.replace("/product-fit/", "/product/")]; + } + if (existingPath.includes("/features/")) { + return [existingPath.replace("/pnp/features/", "/features/")]; + } if (existingPath.includes("/sdk")) { - return [existingPath.replace("/sdk", "/api-reference"), existingPath.replace("/sdk", "/sdk-reference")]; + return [ + existingPath.replace("/sdk", "/api-reference"), + existingPath.replace("/sdk", "/sdk-reference"), + ]; } if (existingPath.includes("/sdk")) { return [ existingPath.replace("/migration-guide/", "/migration-guides/no-modal-v5-to-v6"), - existingPath.replace("/migration-guide/migrating-to-v6-from-v5", "/migration-guides/no-modal-v5-to-v6"), + existingPath.replace( + "/migration-guide/migrating-to-v6-from-v5", + "/migration-guides/no-modal-v5-to-v6", + ), ]; } if (existingPath.includes("/auth-provider-setup")) { return [existingPath.replace("/auth-provider-setup", "/custom-authentication")]; } if (existingPath.includes("/sdk/web/no-modal")) { - return [existingPath.replace("/sdk/web/no-modal", "/sdk/web/core"), existingPath.replace("/sdk/web/no-modal", "/sdk/web/customloginui")]; + return [ + existingPath.replace("/sdk/web/no-modal", "/sdk/web/core"), + existingPath.replace("/sdk/web/no-modal", "/sdk/web/customloginui"), + ]; } if (existingPath.includes("/sdk/web/modal")) { - return [existingPath.replace("/sdk/web/modal", "/sdk/web/web3auth"), existingPath.replace("/sdk/web/modal", "/sdk/web/plugnplay")]; + return [ + existingPath.replace("/sdk/web/modal", "/sdk/web/web3auth"), + existingPath.replace("/sdk/web/modal", "/sdk/web/plugnplay"), + ]; } if (existingPath.includes("/sdk/tkey")) { return [existingPath.replace("/sdk/tkey", "/sdk/self-host")]; @@ -532,40 +553,6 @@ const config: Config = { if (existingPath.includes("quickstart")) { return [existingPath.replace("quickstart", "quick-start")]; } - if (existingPath.includes("/helper-sdks/providers")) { - return [existingPath.replace("/helper-sdks/providers", "/web/providers")]; - } - if (existingPath.includes("/helper-sdks/plugins")) { - return [existingPath.replace("/helper-sdks/plugins", "/web/plugins")]; - } - if (existingPath.includes("/pnp")) { - return [ - existingPath.replace("/pnp/web", "/web"), - existingPath.replace("/pnp/android", "/android"), - existingPath.replace("/pnp/ios", "/ios"), - existingPath.replace("/pnp/react-native", "/react-native"), - existingPath.replace("/pnp/flutter", "/flutter"), - existingPath.replace("/pnp/unity", "/unity"), - existingPath.replace("/pnp/unreal", "/unreal"), - ]; - } - if (existingPath.includes("/core-kit")) { - return [ - existingPath.replace("/core-kit/sfa-node", "/node"), - existingPath.replace("/core-kit/sfa-node", "/core-kit/node"), - existingPath.replace("/core-kit/sfa-web", "/single-factor-auth"), - existingPath.replace("/core-kit/sfa-web", "/core-kit/single-factor-auth"), - existingPath.replace("/core-kit/sfa-android", "/single-factor-auth-android"), - existingPath.replace("/core-kit/sfa-android", "/core-kit/single-factor-auth-android"), - existingPath.replace("/core-kit/tkey", "/tkey"), - existingPath.replace("/core-kit/mpc-core-kit", "/mpc-core-kit"), - existingPath.replace("/core-kit/introduction", "/self-host/"), - existingPath.replace("/core-kit/introduction", "/self-hosting"), - ]; - } - if (existingPath.includes("/connect-blockchain/evm/ethereum")) { - return [existingPath.replace("/connect-blockchain/evm/ethereum", "/connect-blockchain/evm/ethereum")]; - } return undefined; // Return a falsy value: no redirect created }, }, diff --git a/sidebars.ts b/sidebars.ts index a230eaf7d..197dcd996 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -2,189 +2,223 @@ import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; const sidebars: SidebarsConfig = { docs: [ - // Overview Section + { + type: "html", + value: "Quick Links", + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + + + + + + + Announcements + `, + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + Quick Start + `, + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + Examples + `, + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + Resources + `, + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + SDK Reference + `, + defaultStyle: true, + }, { type: "html", value: "Overview", defaultStyle: true, }, - "what-is-web3auth", - "how-web3auth-works", - "user-flow", { - type: "category", - label: "Deciding your Product Fit", - link: { type: "doc", id: "product-fit/product-fit" }, - items: [ - "product-fit/pnp-vs-core-kit", - "product-fit/partner-products", - "product-fit/enterprise", - "product-fit/web3auth-for-wallets", - "product-fit/web3auth-for-dapps", - ], + type: "doc", + id: "README", }, + "what-is-web3auth", + "how-web3auth-works", { type: "category", - label: "Web3Auth Infrastructure", - link: { type: "doc", id: "infrastructure/infrastructure" }, + label: "Product Stack", items: [ - "infrastructure/mpc-architecture", - "infrastructure/sss-architecture", - "infrastructure/nodes-and-dkg", - "infrastructure/glossary", { - type: "link", - label: "Compliance, Audits and Trust", // The link label - href: "https://trust.web3auth.io", // The external URL + type: "doc", + id: "product/product", }, + "product/pnp", + "product/core-kit", + "product/wallet-services", + "product/wallet-ecosystems", + "product/product-fit", ], }, - // Plug and Play Section { type: "html", - value: "Plug and Play", + value: "Features", defaultStyle: true, }, - "pnp/introduction", + "features/account-abstraction", + "features/blockchain-agnostic", + "features/custom-authentication", + "features/wallet-ui", + "features/topup", + "features/gaming", + "features/interoperability", + "features/mfa", + "features/mpc", + "features/mobile", + // "features/passkeys", + "features/server-side-verification", + "features/session-management", + "features/user-management", + "features/wallet-pregeneration", + "features/wallet-aggregation", + "features/whitelabel", { type: "category", - label: "Features", - // link: { type: "doc", id: "pnp/features/features" }, - items: [ - { - type: "category", - label: "Whitelabel", - link: { type: "doc", id: "pnp/features/whitelabel/whitelabel" }, - items: ["pnp/features/whitelabel/login-modal", "pnp/features/whitelabel/user-flow-screens", "pnp/features/whitelabel/torus-wallet-plugin"], - }, - "pnp/features/custom-authentication", - "pnp/features/mfa", - // "pnp/features/session-management", - { - type: "category", - label: "Server Side Verification", - link: { type: "doc", id: "pnp/features/server-side-verification/server-side-verification" }, - items: [ - "pnp/features/server-side-verification/social-login-users", - { - type: "category", - label: "External Wallets", - collapsed: false, - collapsible: true, - link: { type: "doc", id: "pnp/features/server-side-verification/external-wallets" }, - items: [ - { - type: "link", - label: "Sign in with Web3", - href: "https://siww.web3auth.io/", - }, - { - type: "link", - label: "Sign in with Solana", - href: "https://siws.web3auth.io/", - }, - { - type: "link", - label: "Sign in with Starkware", - href: "https://siwst.web3auth.io/", - }, - ], - }, - ], - }, - "pnp/features/interoperability", - "pnp/features/connect-external-wallets", - "pnp/features/dapp-share", - ], + label: "Contribute", + items: ["contribute/contribute", "contribute/bug-bounty"], }, - "pnp/going-live", { - type: "category", - label: "Migration Guides", - items: [ - { - type: "category", - label: "PnP Web Modal", - collapsed: true, - collapsible: true, - items: ["pnp/migration-guides/modal-v7-to-v8", "pnp/migration-guides/modal-v6-to-v7", "pnp/migration-guides/modal-v5-to-v6"], - }, - { - type: "category", - label: "PnP Web No Modal", - collapsed: true, - collapsible: true, - items: ["pnp/migration-guides/no-modal-v7-to-v8", "pnp/migration-guides/no-modal-v6-to-v7", "pnp/migration-guides/no-modal-v5-to-v6"], - }, - { - type: "category", - label: "PnP React Native", - collapsed: true, - collapsible: true, - items: ["pnp/migration-guides/rn-v3-to-v4", "pnp/migration-guides/rn-v4-to-v5"], - }, - { - type: "category", - label: "PnP Android", - collapsed: true, - collapsible: true, - items: ["pnp/migration-guides/android-v4-to-v5"], - }, + Legal: [ + "legal/cookie-policy", + "legal/privacy-policy", + "legal/terms-and-conditions", { - type: "category", - label: "PnP IOS", - collapsed: true, - collapsible: true, - items: ["pnp/migration-guides/ios-v6-to-v7"], + type: "link", + label: "Trust Center", + href: "https://trust.web3auth.io", }, - - "pnp/migration-guides/rn-v3-to-v4", ], }, - // Core Kit Section + ], + resources: [ { type: "html", - value: "Core Kit", + value: "Quick Links", defaultStyle: true, }, - "core-kit/introduction", - "core-kit/going-live", { - type: "category", - label: "Migration Guides", - items: ["core-kit/migration-guides/sfa-flutter-v1-to-v2"], + type: "html", + value: ` + + + + + + + + + + + Announcements + `, + defaultStyle: true, }, - // Resources Section { type: "html", - value: "Resources", + value: ` + + + + Home + `, defaultStyle: true, }, { - type: "category", - label: "Dashboard Setup", - link: { type: "doc", id: "dashboard-setup/dashboard-setup" }, - items: [ - "dashboard-setup/projects-and-analytics", - "dashboard-setup/whitelisting", - "dashboard-setup/enable-interoperability", - "dashboard-setup/setup-custom-authentication", - "dashboard-setup/billing-and-usage", - "dashboard-setup/roles-and-permissions", - ], + type: "html", + value: ` + + + + + Quick Start + `, + defaultStyle: true, }, + { + type: "html", + value: ` + + + + + SDK Reference + `, + defaultStyle: true, + }, + { + type: "html", + value: "Resources", + defaultStyle: true, + }, + "resources", { type: "category", label: "Auth Provider Setup", - link: { type: "doc", id: "auth-provider-setup/auth-provider-setup" }, items: [ + "auth-provider-setup/auth-provider-setup", "auth-provider-setup/verifiers", "auth-provider-setup/aggregate-verifier", + "auth-provider-setup/authentication-service-providers", + "auth-provider-setup/byo-jwt-provider", { type: "category", label: "Social Providers", - link: { type: "doc", id: "auth-provider-setup/social-providers/social-providers" }, items: [ + "auth-provider-setup/social-providers/social-providers", "auth-provider-setup/social-providers/twitter", "auth-provider-setup/social-providers/google", "auth-provider-setup/social-providers/facebook", @@ -206,25 +240,24 @@ const sidebars: SidebarsConfig = { collapsible: true, collapsed: false, }, - "auth-provider-setup/federated-identity-providers", - "auth-provider-setup/byo-jwt-providers", ], }, + { type: "category", label: "Connect Blockchain", - link: { type: "doc", id: "connect-blockchain/connect-blockchain" }, items: [ + "connect-blockchain/connect-blockchain", { type: "category", label: "EVM Based Chains", - link: { type: "doc", id: "connect-blockchain/evm/evm" }, items: [ + "connect-blockchain/evm/evm", { type: "category", label: "Ethereum", - link: { type: "doc", id: "connect-blockchain/evm/ethereum/ethereum" }, items: [ + "connect-blockchain/evm/ethereum/ethereum", "connect-blockchain/evm/ethereum/web", "connect-blockchain/evm/ethereum/android", "connect-blockchain/evm/ethereum/ios", @@ -236,8 +269,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Arbitrum", - link: { type: "doc", id: "connect-blockchain/evm/arbitrum/arbitrum" }, items: [ + "connect-blockchain/evm/arbitrum/arbitrum", "connect-blockchain/evm/arbitrum/web", "connect-blockchain/evm/arbitrum/android", "connect-blockchain/evm/arbitrum/ios", @@ -249,8 +282,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Astar zkEVM", - link: { type: "doc", id: "connect-blockchain/evm/zkevm/zkevm" }, items: [ + "connect-blockchain/evm/zkevm/zkevm", "connect-blockchain/evm/zkevm/web", "connect-blockchain/evm/zkevm/android", "connect-blockchain/evm/zkevm/ios", @@ -262,8 +295,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Avalanche", - link: { type: "doc", id: "connect-blockchain/evm/avalanche/avalanche" }, items: [ + "connect-blockchain/evm/avalanche/avalanche", "connect-blockchain/evm/avalanche/web", "connect-blockchain/evm/avalanche/android", "connect-blockchain/evm/avalanche/ios", @@ -275,8 +308,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Base Chain (Coinbase)", - link: { type: "doc", id: "connect-blockchain/evm/base/base" }, items: [ + "connect-blockchain/evm/base/base", "connect-blockchain/evm/base/web", "connect-blockchain/evm/base/android", "connect-blockchain/evm/base/ios", @@ -288,8 +321,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "BNB Chain", - link: { type: "doc", id: "connect-blockchain/evm/bnb/bnb" }, items: [ + "connect-blockchain/evm/bnb/bnb", "connect-blockchain/evm/bnb/web", "connect-blockchain/evm/bnb/android", "connect-blockchain/evm/bnb/ios", @@ -301,8 +334,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "BNB Optimistic Rollup", - link: { type: "doc", id: "connect-blockchain/evm/opbnb/opbnb" }, items: [ + "connect-blockchain/evm/opbnb/opbnb", "connect-blockchain/evm/opbnb/web", "connect-blockchain/evm/opbnb/android", "connect-blockchain/evm/opbnb/ios", @@ -314,8 +347,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Celo", - link: { type: "doc", id: "connect-blockchain/evm/celo/celo" }, items: [ + "connect-blockchain/evm/celo/celo", "connect-blockchain/evm/celo/web", "connect-blockchain/evm/celo/android", "connect-blockchain/evm/celo/ios", @@ -327,8 +360,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Cronos", - link: { type: "doc", id: "connect-blockchain/evm/cronos/cronos" }, items: [ + "connect-blockchain/evm/cronos/cronos", "connect-blockchain/evm/cronos/web", "connect-blockchain/evm/cronos/android", "connect-blockchain/evm/cronos/ios", @@ -340,8 +373,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Flare", - link: { type: "doc", id: "connect-blockchain/evm/flare/flare" }, items: [ + "connect-blockchain/evm/flare/flare", "connect-blockchain/evm/flare/web", "connect-blockchain/evm/flare/android", "connect-blockchain/evm/flare/ios", @@ -353,8 +386,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Harmony", - link: { type: "doc", id: "connect-blockchain/evm/harmony/harmony" }, items: [ + "connect-blockchain/evm/harmony/harmony", "connect-blockchain/evm/harmony/web", "connect-blockchain/evm/harmony/android", "connect-blockchain/evm/harmony/ios", @@ -366,8 +399,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Klaytn", - link: { type: "doc", id: "connect-blockchain/evm/klaytn/klaytn" }, items: [ + "connect-blockchain/evm/klaytn/klaytn", "connect-blockchain/evm/klaytn/web", "connect-blockchain/evm/klaytn/android", "connect-blockchain/evm/klaytn/ios", @@ -379,8 +412,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Moonbeam", - link: { type: "doc", id: "connect-blockchain/evm/moonbeam/moonbeam" }, items: [ + "connect-blockchain/evm/moonbeam/moonbeam", "connect-blockchain/evm/moonbeam/web", "connect-blockchain/evm/moonbeam/android", "connect-blockchain/evm/moonbeam/ios", @@ -392,8 +425,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Moonriver", - link: { type: "doc", id: "connect-blockchain/evm/moonriver/moonriver" }, items: [ + "connect-blockchain/evm/moonriver/moonriver", "connect-blockchain/evm/moonriver/web", "connect-blockchain/evm/moonriver/android", "connect-blockchain/evm/moonriver/ios", @@ -405,8 +438,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Optimism", - link: { type: "doc", id: "connect-blockchain/evm/optimism/optimism" }, items: [ + "connect-blockchain/evm/optimism/optimism", "connect-blockchain/evm/optimism/web", "connect-blockchain/evm/optimism/android", "connect-blockchain/evm/optimism/ios", @@ -418,8 +451,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Polygon", - link: { type: "doc", id: "connect-blockchain/evm/polygon/polygon" }, items: [ + "connect-blockchain/evm/polygon/polygon", "connect-blockchain/evm/polygon/web", "connect-blockchain/evm/polygon/android", "connect-blockchain/evm/polygon/ios", @@ -431,8 +464,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "SKALE", - link: { type: "doc", id: "connect-blockchain/evm/skale/skale" }, items: [ + "connect-blockchain/evm/skale/skale", "connect-blockchain/evm/skale/web", "connect-blockchain/evm/skale/android", "connect-blockchain/evm/skale/ios", @@ -444,8 +477,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Songbird", - link: { type: "doc", id: "connect-blockchain/evm/songbird/songbird" }, items: [ + "connect-blockchain/evm/songbird/songbird", "connect-blockchain/evm/songbird/web", "connect-blockchain/evm/songbird/android", "connect-blockchain/evm/songbird/ios", @@ -459,8 +492,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Solana", - link: { type: "doc", id: "connect-blockchain/solana/solana" }, items: [ + "connect-blockchain/solana/solana", "connect-blockchain/solana/web", "connect-blockchain/solana/flutter", "connect-blockchain/solana/android", @@ -472,8 +505,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Other Chains", - link: { type: "doc", id: "connect-blockchain/other/other" }, items: [ + "connect-blockchain/other/other", "connect-blockchain/other/algorand", "connect-blockchain/other/aptos", "connect-blockchain/other/cosmos", @@ -491,17 +524,41 @@ const sidebars: SidebarsConfig = { }, ], }, + { + type: "category", + label: "Dashboard Setup", + items: [ + "dashboard-setup/dashboard-setup", + "dashboard-setup/projects-and-analytics", + "dashboard-setup/whitelisting", + "dashboard-setup/enable-interoperability", + "dashboard-setup/setup-custom-authentication", + "dashboard-setup/billing-and-usage", + "dashboard-setup/roles-and-permissions", + ], + }, "examples", { - type: "link", - label: "Guides", - href: "/guides/", + type: "category", + label: "Web3Auth Infrastructure", + items: [ + "infrastructure/infrastructure", + "infrastructure/mpc-architecture", + "infrastructure/sss-architecture", + "infrastructure/nodes-and-dkg", + "infrastructure/glossary", + { + type: "link", + label: "Compliance, Audits and Trust", + href: "https://trust.web3auth.io", + }, + ], }, { type: "category", label: "Troubleshooting", - link: { type: "doc", id: "troubleshooting/troubleshooting" }, items: [ + "troubleshooting/troubleshooting", "troubleshooting/different-private-key", "troubleshooting/sdk-errors-warnings", "troubleshooting/error-429", @@ -515,31 +572,125 @@ const sidebars: SidebarsConfig = { "troubleshooting/popup-blocked-issue", ], }, + ], + sdk: [ { - type: "category", - label: "Contribute", - link: { type: "doc", id: "contribute/contribute" }, - items: ["contribute/bug-bounty"], + type: "html", + value: "Quick Links", + defaultStyle: true, }, { - type: "link", - label: "SDK Reference", - href: "/sdk", + type: "html", + value: ` + + + + + + + + + + + Announcements + `, + defaultStyle: true, }, { - Legal: [ - "legal/cookie-policy", - "legal/privacy-policy", - "legal/terms-and-conditions", + type: "html", + value: ` + + + + Home + `, + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + Quick Start + `, + defaultStyle: true, + }, + + { + type: "html", + value: ` + + + + + Examples + `, + defaultStyle: true, + }, + { + type: "html", + value: ` + + + + + Resources + `, + defaultStyle: true, + }, + { + type: "html", + value: "SDK Reference", + defaultStyle: true, + }, + "sdk/sdk", + { + type: "category", + label: "Migration Guides", + items: [ { - type: "link", - label: "Trust Center", // The link label - href: "https://trust.web3auth.io", // The external URL + type: "category", + label: "Plug and Play Modal SDK", + items: [ + "migration-guides/modal-v7-to-v8", + "migration-guides/modal-v6-to-v7", + "migration-guides/modal-v5-to-v6", + ], + }, + { + type: "category", + label: "Plug and Play No Modal SDK", + items: [ + "migration-guides/no-modal-v7-to-v8", + "migration-guides/no-modal-v6-to-v7", + "migration-guides/no-modal-v5-to-v6", + ], + }, + { + type: "category", + label: "Plug and Play Android SDK", + items: ["migration-guides/android-v4-to-v5"], + }, + { + type: "category", + label: "Plug and Play iOS SDK", + items: ["migration-guides/ios-v6-to-v7"], + }, + { + type: "category", + label: "Plug and Play React Native SDK", + items: ["migration-guides/rn-v4-to-v5", "migration-guides/rn-v3-to-v4"], + }, + { + type: "category", + label: "Single Factor Auth Flutter SDK", + items: ["migration-guides/sfa-flutter-v1-to-v2"], }, ], }, - ], - sdk: [ + // "going-live", { type: "html", value: "Plug and Play", @@ -548,13 +699,13 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Web SDKs", - link: { type: "doc", id: "sdk/pnp/web/web" }, items: [ + "sdk/pnp/web/web", { type: "category", label: "Modal SDK", - link: { type: "doc", id: "sdk/pnp/web/modal/modal" }, items: [ + "sdk/pnp/web/modal/modal", "sdk/pnp/web/modal/install", "sdk/pnp/web/modal/initialize", "sdk/pnp/web/modal/usage", @@ -573,21 +724,26 @@ const sidebars: SidebarsConfig = { }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-modal/7", // The external URL + label: "Playground", + href: "https://w3a.link/pnp-playground", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-web/releases", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-modal/7", + }, + { + type: "link", + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-web/releases", }, ], }, { type: "category", label: "No Modal SDK", - link: { type: "doc", id: "sdk/pnp/web/no-modal/no-modal" }, items: [ + "sdk/pnp/web/no-modal/no-modal", "sdk/pnp/web/no-modal/install", "sdk/pnp/web/no-modal/initialize", "sdk/pnp/web/no-modal/usage", @@ -606,21 +762,21 @@ const sidebars: SidebarsConfig = { }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-no-modal/15", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-no-modal/15", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-web/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-web/releases", }, ], }, { type: "category", label: "Adapters", - link: { type: "doc", id: "sdk/pnp/web/adapters/adapters" }, items: [ + "sdk/pnp/web/adapters/adapters", "sdk/pnp/web/adapters/openlogin", "sdk/pnp/web/adapters/torus-evm", "sdk/pnp/web/adapters/torus-solana", @@ -639,8 +795,8 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Android SDK", - link: { type: "doc", id: "sdk/pnp/android/android" }, items: [ + "sdk/pnp/android/android", "sdk/pnp/android/install", "sdk/pnp/android/initialize", "sdk/pnp/android/usage", @@ -649,25 +805,30 @@ const sidebars: SidebarsConfig = { collapsible: true, collapsed: false, label: "Additional Settings", - items: ["sdk/pnp/android/whitelabel", "sdk/pnp/android/custom-authentication", "sdk/pnp/android/mfa", "sdk/pnp/android/dapp-share"], + items: [ + "sdk/pnp/android/whitelabel", + "sdk/pnp/android/custom-authentication", + "sdk/pnp/android/mfa", + "sdk/pnp/android/dapp-share", + ], }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-android/16", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-android/16", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-android-sdk/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-android-sdk/releases", }, ], }, { type: "category", label: "iOS SDK", - link: { type: "doc", id: "sdk/pnp/ios/ios" }, items: [ + "sdk/pnp/ios/ios", "sdk/pnp/ios/install", "sdk/pnp/ios/initialize", "sdk/pnp/ios/usage", @@ -676,25 +837,30 @@ const sidebars: SidebarsConfig = { collapsible: true, collapsed: false, label: "Additional Settings", - items: ["sdk/pnp/ios/whitelabel", "sdk/pnp/ios/custom-authentication", "sdk/pnp/ios/mfa", "sdk/pnp/ios/dapp-share"], + items: [ + "sdk/pnp/ios/whitelabel", + "sdk/pnp/ios/custom-authentication", + "sdk/pnp/ios/mfa", + "sdk/pnp/ios/dapp-share", + ], }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-ios/17", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-ios/17", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-swift-sdk/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-swift-sdk/releases", }, ], }, { type: "category", label: "React Native SDK", - link: { type: "doc", id: "sdk/pnp/react-native/react-native" }, items: [ + "sdk/pnp/react-native/react-native", "sdk/pnp/react-native/install", "sdk/pnp/react-native/initialize", "sdk/pnp/react-native/usage", @@ -712,21 +878,21 @@ const sidebars: SidebarsConfig = { }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-rn/19", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-rn/19", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-react-native-sdk/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-react-native-sdk/releases", }, ], }, { type: "category", label: "Flutter SDK", - link: { type: "doc", id: "sdk/pnp/flutter/flutter" }, items: [ + "sdk/pnp/flutter/flutter", "sdk/pnp/flutter/install", "sdk/pnp/flutter/initialize", "sdk/pnp/flutter/usage", @@ -735,25 +901,40 @@ const sidebars: SidebarsConfig = { collapsible: true, collapsed: false, label: "Additional Settings", - items: ["sdk/pnp/flutter/whitelabel", "sdk/pnp/flutter/custom-authentication", "sdk/pnp/flutter/mfa", "sdk/pnp/flutter/dapp-share"], + items: [ + "sdk/pnp/flutter/whitelabel", + "sdk/pnp/flutter/custom-authentication", + "sdk/pnp/flutter/mfa", + "sdk/pnp/flutter/dapp-share", + ], + }, + { + type: "link", + label: "Playground Android", + href: "https://w3a.link/pnp-flutter-android-playground", + }, + { + type: "link", + label: "Playground iOS", + href: "https://w3a.link/pnp-flutter-ios-playground", }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-flutter/18", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-flutter/18", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-flutter-sdk/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-flutter-sdk/releases", }, ], }, { type: "category", label: "Unity SDK", - link: { type: "doc", id: "sdk/pnp/unity/unity" }, items: [ + "sdk/pnp/unity/unity", "sdk/pnp/unity/install", "sdk/pnp/unity/initialize", "sdk/pnp/unity/usage", @@ -762,25 +943,30 @@ const sidebars: SidebarsConfig = { collapsible: true, collapsed: false, label: "Additional Settings", - items: ["sdk/pnp/unity/whitelabel", "sdk/pnp/unity/custom-authentication", "sdk/pnp/unity/mfa", "sdk/pnp/unity/dapp-share"], + items: [ + "sdk/pnp/unity/whitelabel", + "sdk/pnp/unity/custom-authentication", + "sdk/pnp/unity/mfa", + "sdk/pnp/unity/dapp-share", + ], }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-unity/20", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-unity/20", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-unity-sdk/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-unity-sdk/releases", }, ], }, { type: "category", label: "Unreal SDK", - link: { type: "doc", id: "sdk/pnp/unreal/unreal" }, items: [ + "sdk/pnp/unreal/unreal", "sdk/pnp/unreal/install", "sdk/pnp/unreal/initialize", "sdk/pnp/unreal/usage", @@ -789,85 +975,187 @@ const sidebars: SidebarsConfig = { collapsible: true, collapsed: false, label: "Additional Settings", - items: ["sdk/pnp/unreal/whitelabel", "sdk/pnp/unreal/custom-authentication", "sdk/pnp/unreal/mfa"], + items: [ + "sdk/pnp/unreal/whitelabel", + "sdk/pnp/unreal/custom-authentication", + "sdk/pnp/unreal/mfa", + ], }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/pnp-unreal/21", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/pnp-unreal/21", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-unreal-sdk/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-unreal-sdk/releases", }, ], }, { type: "html", - value: "Wallet Services", + value: "Core Kit SFA", defaultStyle: true, }, - "sdk/wallet-services/wallet-services", - "sdk/wallet-services/pregenerate-wallet", + { type: "category", - label: "Providers", - link: { type: "doc", id: "sdk/helper-sdks/providers/providers" }, + label: "SFA Web SDK", items: [ - "sdk/helper-sdks/providers/evm", - "sdk/helper-sdks/providers/solana", - "sdk/helper-sdks/providers/xrpl", - "sdk/helper-sdks/providers/common", + "sdk/core-kit/sfa-web/sfa-web", + "sdk/core-kit/sfa-web/install", + "sdk/core-kit/sfa-web/initialize", + "sdk/core-kit/sfa-web/authentication", + "sdk/core-kit/sfa-web/usage", { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-pnp/4", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/core-kit-sfa-web/22", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/web3auth-web/releases", // The external URL + label: "Release Notes", + href: "https://github.com/web3auth/single-factor-auth-web/releases", }, ], }, { - type: "html", - value: "Wallet Ecosystems", - defaultStyle: true, + type: "category", + label: "SFA Android SDK", + items: [ + "sdk/core-kit/sfa-android/sfa-android", + "sdk/core-kit/sfa-android/install", + "sdk/core-kit/sfa-android/initialize", + "sdk/core-kit/sfa-android/authentication", + "sdk/core-kit/sfa-android/usage", + { + type: "link", + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/core-kit-sfa-android/26", + }, + { + type: "link", + label: "Release Notes", + href: "https://github.com/web3auth/single-factor-auth-android/releases", + }, + ], + }, + { + type: "category", + label: "SFA iOS SDK", + items: [ + "sdk/core-kit/sfa-ios/sfa-ios", + "sdk/core-kit/sfa-ios/install", + "sdk/core-kit/sfa-ios/initialize", + "sdk/core-kit/sfa-ios/authentication", + "sdk/core-kit/sfa-ios/usage", + { + type: "link", + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/sfa-swift-sdk/30", + }, + { + type: "link", + label: "Release Notes", + href: "https://github.com/web3auth/single-factor-auth-swift/releases", + }, + ], + }, + { + type: "category", + label: "SFA React Native SDK", + items: [ + "sdk/core-kit/sfa-react-native/sfa-react-native", + "sdk/core-kit/sfa-react-native/install", + "sdk/core-kit/sfa-react-native/initialize", + "sdk/core-kit/sfa-react-native/authentication", + "sdk/core-kit/sfa-react-native/usage", + { + type: "link", + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/sfa-react-native-sdk/32", + }, + { + type: "link", + label: "Release Notes", + href: "https://github.com/Web3Auth/single-factor-auth-react-native/releases", + }, + ], + }, + { + type: "category", + label: "SFA Flutter SDK", + items: [ + "sdk/core-kit/sfa-flutter/sfa-flutter", + "sdk/core-kit/sfa-flutter/install", + "sdk/core-kit/sfa-flutter/initialize", + "sdk/core-kit/sfa-flutter/authentication", + "sdk/core-kit/sfa-flutter/usage", + { + type: "link", + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/sfa-flutter-sdk/31", + }, + { + type: "link", + label: "Release Notes", + href: "https://github.com/web3auth/single-factor-auth-flutter/releases", + }, + ], + }, + { + type: "category", + label: "SFA Node.js SDK", + items: [ + "sdk/core-kit/sfa-node/sfa-node", + "sdk/core-kit/sfa-node/install", + "sdk/core-kit/sfa-node/initialize", + "sdk/core-kit/sfa-node/authentication", + "sdk/core-kit/sfa-node/usage", + { + type: "link", + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/core-kit-sfa-node/23", + }, + { + type: "link", + label: "Release Notes", + href: "https://github.com/web3auth/web3auth-backend/releases", + }, + ], }, - "sdk/wallet-ecosystems/safeauth", { type: "html", - value: "Core Kit", + value: "Core Kit MFA", defaultStyle: true, }, { type: "category", label: "MPC Core Kit SDK", - link: { type: "doc", id: "sdk/core-kit/mpc-core-kit/mpc-core-kit" }, items: [ + "sdk/core-kit/mpc-core-kit/mpc-core-kit", "sdk/core-kit/mpc-core-kit/install", "sdk/core-kit/mpc-core-kit/initialize", "sdk/core-kit/mpc-core-kit/authentication", "sdk/core-kit/mpc-core-kit/usage", { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/mpc-core-kit/33", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/mpc-core-kit/33", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/mpc-core-kit/releases", // The external URL + label: "Release Notes", + href: "https://github.com/Web3Auth/mpc-core-kit/releases", }, ], }, { type: "category", label: "tKey JS SDK", - link: { type: "doc", id: "sdk/core-kit/tkey/tkey" }, items: [ + "sdk/core-kit/tkey/tkey", "sdk/core-kit/tkey/install", "sdk/core-kit/tkey/initialize", "sdk/core-kit/tkey/usage", @@ -876,8 +1164,8 @@ const sidebars: SidebarsConfig = { label: "Modules", collapsible: true, collapsed: false, - link: { type: "doc", id: "sdk/core-kit/tkey/modules/modules" }, items: [ + "sdk/core-kit/tkey/modules/modules", "sdk/core-kit/tkey/modules/web-storage", "sdk/core-kit/tkey/modules/react-native-storage", "sdk/core-kit/tkey/modules/chrome-storage", @@ -897,34 +1185,34 @@ const sidebars: SidebarsConfig = { }, { type: "link", - label: "Support Forum Web", // The link label - href: "https://web3auth.io/community/c/help-core-kit/core-kit-tkey/8", // The external URL + label: "Support Forum Web", + href: "https://web3auth.io/community/c/help-core-kit/core-kit-tkey/8", }, { type: "link", - label: "Support Forum React Native", // The link label - href: "https://web3auth.io/community/c/help-core-kit/tkey-react-native-sdk/29", // The external URL + label: "Support Forum React Native", + href: "https://web3auth.io/community/c/help-core-kit/tkey-react-native-sdk/29", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/tkey/tkey/releases", // The external URL + label: "Release Notes", + href: "https://github.com/tkey/tkey/releases", }, ], }, { type: "category", label: "tKey iOS SDK", - link: { type: "doc", id: "sdk/core-kit/tkey-ios/tkey-ios" }, items: [ + "sdk/core-kit/tkey-ios/tkey-ios", "sdk/core-kit/tkey-ios/install", "sdk/core-kit/tkey-ios/initialize", "sdk/core-kit/tkey-ios/usage", { type: "category", label: "Modules", - link: { type: "doc", id: "sdk/core-kit/tkey-ios/modules/modules" }, items: [ + "sdk/core-kit/tkey-ios/modules/modules", "sdk/core-kit/tkey-ios/modules/private-keys", "sdk/core-kit/tkey-ios/modules/security-questions", "sdk/core-kit/tkey-ios/modules/seed-phrase", @@ -934,29 +1222,29 @@ const sidebars: SidebarsConfig = { }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/core-kit-tkey-ios/27", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/core-kit-tkey-ios/27", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/tkey/tkey-ios/releases", // The external URL + label: "Release Notes", + href: "https://github.com/tkey/tkey-ios/releases", }, ], }, { type: "category", label: "tKey Android SDK", - link: { type: "doc", id: "sdk/core-kit/tkey-android/tkey-android" }, items: [ + "sdk/core-kit/tkey-android/tkey-android", "sdk/core-kit/tkey-android/install", "sdk/core-kit/tkey-android/initialize", "sdk/core-kit/tkey-android/usage", { type: "category", label: "Modules", - link: { type: "doc", id: "sdk/core-kit/tkey-android/modules/modules" }, items: [ + "sdk/core-kit/tkey-android/modules/modules", "sdk/core-kit/tkey-android/modules/private-keys", "sdk/core-kit/tkey-android/modules/security-questions", "sdk/core-kit/tkey-android/modules/seed-phrase", @@ -966,147 +1254,48 @@ const sidebars: SidebarsConfig = { }, { type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/tkey-android/28", // The external URL + label: "Support Forum", + href: "https://web3auth.io/community/c/help-core-kit/tkey-android/28", }, { type: "link", - label: "Release Notes", // The link label - href: "https://github.com/tkey/tkey-android/releases", // The external URL + label: "Release Notes", + href: "https://github.com/tkey/tkey-android/releases", }, ], }, + + { + type: "html", + value: "Wallet Ecosystems", + defaultStyle: true, + }, + "sdk/wallet-ecosystems/safeauth", + "sdk/wallet-ecosystems/mocaverse", + { + type: "html", + value: "Helper SDKs", + defaultStyle: true, + }, + "sdk/wallet-services/wallet-services", { type: "category", - label: "Single Factor Auth SDKs", - collapsed: false, - collapsible: false, + label: "Providers", items: [ + "sdk/providers/providers", + "sdk/providers/evm", + "sdk/providers/solana", + "sdk/providers/xrpl", + "sdk/providers/common", { - type: "category", - label: "SFA Web SDK", - link: { type: "doc", id: "sdk/core-kit/sfa-web/sfa-web" }, - items: [ - "sdk/core-kit/sfa-web/install", - "sdk/core-kit/sfa-web/initialize", - "sdk/core-kit/sfa-web/authentication", - "sdk/core-kit/sfa-web/usage", - { - type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/core-kit-sfa-web/22", // The external URL - }, - { - type: "link", - label: "Release Notes", // The link label - href: "https://github.com/web3auth/single-factor-auth-web/releases", // The external URL - }, - ], - }, - { - type: "category", - label: "SFA Node SDK", - link: { type: "doc", id: "sdk/core-kit/sfa-node/sfa-node" }, - items: [ - "sdk/core-kit/sfa-node/install", - "sdk/core-kit/sfa-node/initialize", - "sdk/core-kit/sfa-node/authentication", - "sdk/core-kit/sfa-node/usage", - { - type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/core-kit-sfa-node/23", // The external URL - }, - { - type: "link", - label: "Release Notes", // The link label - href: "https://github.com/web3auth/web3auth-backend/releases", // The external URL - }, - ], - }, - { - type: "category", - label: "SFA Android SDK", - link: { type: "doc", id: "sdk/core-kit/sfa-android/sfa-android" }, - items: [ - "sdk/core-kit/sfa-android/install", - "sdk/core-kit/sfa-android/initialize", - "sdk/core-kit/sfa-android/authentication", - "sdk/core-kit/sfa-android/usage", - { - type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/core-kit-sfa-android/26", // The external URL - }, - { - type: "link", - label: "Release Notes", // The link label - href: "https://github.com/web3auth/single-factor-auth-android/releases", // The external URL - }, - ], - }, - { - type: "category", - label: "SFA iOS SDK", - link: { type: "doc", id: "sdk/core-kit/sfa-ios/sfa-ios" }, - items: [ - "sdk/core-kit/sfa-ios/install", - "sdk/core-kit/sfa-ios/initialize", - "sdk/core-kit/sfa-ios/authentication", - "sdk/core-kit/sfa-ios/usage", - { - type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/sfa-swift-sdk/30", // The external URL - }, - { - type: "link", - label: "Release Notes", // The link label - href: "https://github.com/web3auth/single-factor-auth-swift/releases", // The external URL - }, - ], - }, - { - type: "category", - label: "SFA React Native SDK", - link: { type: "doc", id: "sdk/core-kit/sfa-react-native/sfa-react-native" }, - items: [ - "sdk/core-kit/sfa-react-native/install", - "sdk/core-kit/sfa-react-native/initialize", - "sdk/core-kit/sfa-react-native/authentication", - "sdk/core-kit/sfa-react-native/usage", - { - type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/sfa-react-native-sdk/32", // The external URL - }, - { - type: "link", - label: "Release Notes", // The link label - href: "https://github.com/Web3Auth/single-factor-auth-react-native/releases", // The external URL - }, - ], + type: "link", + label: "Support Forum", + href: "https://web3auth.io/community/c/help-pnp/4", }, { - type: "category", - label: "SFA Flutter SDK", - link: { type: "doc", id: "sdk/core-kit/sfa-flutter/sfa-flutter" }, - items: [ - "sdk/core-kit/sfa-flutter/install", - "sdk/core-kit/sfa-flutter/initialize", - "sdk/core-kit/sfa-flutter/authentication", - "sdk/core-kit/sfa-flutter/usage", - { - type: "link", - label: "Support Forum", // The link label - href: "https://web3auth.io/community/c/help-core-kit/sfa-flutter-sdk/31", // The external URL - }, - { - type: "link", - label: "Release Notes", // The link label - href: "https://github.com/web3auth/single-factor-auth-flutter/releases", // The external URL - }, - ], + type: "link", + label: "Release Notes", + href: "https://github.com/Web3Auth/web3auth-web/releases", }, ], }, diff --git a/src/common/SDKOptions.ts b/src/common/SDKOptions.ts index 3098e1903..21c7851a7 100644 --- a/src/common/SDKOptions.ts +++ b/src/common/SDKOptions.ts @@ -15,6 +15,8 @@ export const nodejs = "Node.js"; export const weblist = [reactJS, angular, vue, nextjs]; export const pnp = "Plug and Play"; +export const walletecosystems = "Wallet Ecosystems"; +export const helpersdks = "Helper SDKs"; export const pnpwebmodal = "Plug and Play Web Modal SDK"; export const pnpwebnomodal = "Plug and Play Web No Modal SDK"; export const pnpandroid = "Plug and Play Android SDK"; @@ -35,6 +37,8 @@ export const pnplist = [ ]; export const corekit = "Core Kit"; +export const corekitsfa = "Core Kit SFA"; +export const corekitmfa = "Core Kit MFA"; export const tkeyjs = "tKey JS SDK"; export const tkeyios = "tKey iOS SDK"; export const tkeyandroid = "tKey Android SDK"; diff --git a/src/common/docs/_byo-custom-jwt-providers.mdx b/src/common/docs/_byo-custom-jwt-providers.mdx index 564ed7ff1..6396621eb 100644 --- a/src/common/docs/_byo-custom-jwt-providers.mdx +++ b/src/common/docs/_byo-custom-jwt-providers.mdx @@ -10,25 +10,25 @@ export const tileGroupsDataBYOJWT = [ key: "jwt", title: "JSON Web Token", icon: "logo-jwt.png", - path: "/auth-provider-setup/byo-jwt-providers", + path: "/auth-provider-setup/byo-jwt-provider", }, { key: "jose", title: "Jose (JWT)", icon: "logo-jwt.png", - path: "/auth-provider-setup/byo-jwt-providers#using-jose-to-generate-jwt", + path: "/auth-provider-setup/byo-jwt-provider#using-jose-to-generate-jwt", }, { key: "passport-jwt", title: "Passport JWT", icon: "logo-passport.png", - path: "/auth-provider-setup/byo-jwt-providers#using-passport-jwt-to-generate-jwt", + path: "/auth-provider-setup/byo-jwt-provider#using-passport-jwt-to-generate-jwt", }, { key: "custom-ecdsa", title: "Custom ECDSA", icon: "logo-ecdsa.png", - path: "/auth-provider-setup/byo-jwt-providers#using-jsonwebtoken-to-generate-jwt", + path: "/auth-provider-setup/byo-jwt-provider#using-jsonwebtoken-to-generate-jwt", }, ], }, diff --git a/src/common/docs/_evm-chains.mdx b/src/common/docs/_evm-chains.mdx new file mode 100644 index 000000000..f872e78d8 --- /dev/null +++ b/src/common/docs/_evm-chains.mdx @@ -0,0 +1,108 @@ +import Tiles from "@theme/Tiles"; + +export const EVMChains = [ + { + name: "", + description: "", + tiles: [ + { + key: "ethereum", + title: "Ethereum", + icon: "logo-ethereum.png", + path: "/connect-blockchain/evm/ethereum/", + }, + { + key: "arbitrum", + title: "Arbitrum", + icon: "logo-arbitrum.png", + path: "/connect-blockchain/evm/arbitrum/", + }, + { + key: "avalanche", + title: "Avalanche", + icon: "logo-avalanche.png", + path: "/connect-blockchain/evm/avalanche/", + }, + { + key: "base", + title: "Base Chain", + icon: "logo-base.png", + path: "/connect-blockchain/evm/base/", + }, + { + key: "bnb", + title: "BNB Chain", + icon: "logo-binance.png", + path: "/connect-blockchain/evm/bnb/", + }, + { + key: "celo", + title: "Celo", + icon: "logo-celo.png", + path: "/connect-blockchain/evm/celo/", + }, + { + key: "cronos", + title: "Cronos", + icon: "logo-cronos.png", + path: "/connect-blockchain/evm/cronos/", + }, + { + key: "flare", + title: "Flare", + icon: "logo-flare.png", + path: "/connect-blockchain/evm/flare/", + }, + { + key: "harmony", + title: "Harmony", + icon: "logo-harmony.png", + path: "/connect-blockchain/evm/harmony/", + }, + { + key: "klaytn", + title: "Klaytn", + icon: "logo-klaytn.png", + path: "/connect-blockchain/evm/klaytn/", + }, + { + key: "moonbeam", + title: "Moonbeam", + icon: "logo-moonbeam.png", + path: "/connect-blockchain/evm/moonbeam/", + }, + { + key: "moonriver", + title: "Moonriver", + icon: "logo-moonriver.png", + path: "/connect-blockchain/evm/moonriver/", + }, + { + key: "optimism", + title: "Optimism", + icon: "logo-optimism.png", + path: "/connect-blockchain/evm/optimism/", + }, + { + key: "polygon", + title: "Polygon", + icon: "logo-polygon.png", + path: "/connect-blockchain/evm/polygon/", + }, + { + key: "skale", + title: "SKALE", + icon: "logo-skale.png", + path: "/connect-blockchain/evm/skale/", + }, + { + key: "songbird", + title: "Songbird", + icon: "logo-songbird.png", + path: "/connect-blockchain/evm/songbird/", + }, + ], + }, +]; + + diff --git a/src/common/docs/_federated-providers.mdx b/src/common/docs/_federated-providers.mdx index 1c31a1b2f..a12320ab6 100644 --- a/src/common/docs/_federated-providers.mdx +++ b/src/common/docs/_federated-providers.mdx @@ -9,19 +9,19 @@ export const tileGroupsDataFederated = [ key: "auth0", title: "Auth0", icon: "logo-auth0.png", - path: "/auth-provider-setup/federated-identity-providers#auth0", + path: "/auth-provider-setup/authentication-service-providers#auth0", }, { key: "aws-cognito", title: "AWS Cognito", icon: "logo-aws-cognito.png", - path: "/auth-provider-setup/federated-identity-providers#aws-cognito", + path: "/auth-provider-setup/authentication-service-providers#aws-cognito", }, { key: "firebase", title: "Firebase", icon: "logo-firebase.png", - path: "/auth-provider-setup/federated-identity-providers#firebase", + path: "/auth-provider-setup/authentication-service-providers#firebase", }, ], }, diff --git a/src/common/docs/_other-chains.mdx b/src/common/docs/_other-chains.mdx new file mode 100644 index 000000000..e94f52302 --- /dev/null +++ b/src/common/docs/_other-chains.mdx @@ -0,0 +1,84 @@ +import Tiles from "@theme/Tiles"; + +export const OtherChains = [ + { + name: "", + description: "", + tiles: [ + { + key: "solana", + title: "Solana", + icon: "logo-solana.png", + path: "/connect-blockchain/solana", + }, + { + key: "xrpl", + title: "XRPL", + icon: "logo-xrpl.png", + path: "/connect-blockchain/xrpl", + }, + { + key: "algorand", + title: "Algorand", + icon: "logo-algorand.png", + path: "/connect-blockchain/other/algorand", + }, + { + key: "aptos", + title: "Aptos", + icon: "logo-aptos.png", + path: "/connect-blockchain/other/aptos", + }, + { + key: "cosmos", + title: "Cosmos", + icon: "logo-cosmos.png", + path: "/connect-blockchain/other/cosmos", + }, + { + key: "immutablex", + title: "ImmutableX", + icon: "logo-immutablex.png", + path: "/connect-blockchain/other/immutablex", + }, + { + key: "near", + title: "Near", + icon: "logo-near.png", + path: "/connect-blockchain/other/near", + }, + { + key: "polkadot", + title: "Polkadot", + icon: "logo-polkadot.png", + path: "/connect-blockchain/other/polkadot", + }, + { + key: "polymesh", + title: "Polymesh", + icon: "logo-polymesh.png", + path: "/connect-blockchain/other/polymesh", + }, + { + key: "starkex", + title: "StarkEx", + icon: "logo-starkex.png", + path: "/connect-blockchain/other/starkex", + }, + { + key: "starknet", + title: "StarkNet", + icon: "logo-starknet.png", + path: "/connect-blockchain/other/starknet", + }, + { + key: "tezos", + title: "Tezos", + icon: "logo-tezos.png", + path: "/connect-blockchain/other/tezos", + }, + ], + }, +]; + + diff --git a/src/common/docs/wallet-ecosystems/_mocaverse-description.mdx b/src/common/docs/wallet-ecosystems/_mocaverse-description.mdx new file mode 100644 index 000000000..662596e4c --- /dev/null +++ b/src/common/docs/wallet-ecosystems/_mocaverse-description.mdx @@ -0,0 +1,4 @@ +The Mocaverse ID, enabled by the Wallet Ecosystems Mocaverse Embed SDK from Web3Auth and Animoca Brands, introduces a novel integration of Multi-Party +Computation (MPC) and Account Abstraction, redefining secure and user-friendly blockchain wallet solutions. Designed for the Mocaverse ecosystem, this +SDK facilitates easy onboarding through social logins, blending enhanced security with unparalleled convenience. As the default wallet for Mocaverse, +it extends its capabilities across various dApps, offering them a seamless user experience and interoperability within the Mocaverse ecosystem diff --git a/src/common/docs/wallet-ecosystems/_safeauth-description.mdx b/src/common/docs/wallet-ecosystems/_safeauth-description.mdx new file mode 100644 index 000000000..98e73a9da --- /dev/null +++ b/src/common/docs/wallet-ecosystems/_safeauth-description.mdx @@ -0,0 +1,4 @@ +The SafeAuth Kit, designed in collaboration with Safe, offers a transformative approach to integrating smart wallets with your application, ensuring +compatibility with ERC-4337 and leveraging the principles of Account Abstraction. This innovative solution utilizes Web3Auth's MPC-powered accounts as +the signer for these smart wallets, facilitating a smooth onboarding and recovery process. By doing so, it not only simplifies the user experience by +streamlining their interaction with the blockchain but also enhances security and user autonomy. diff --git a/src/common/docs/wallet-ecosystems/_solana-torus-wallet-description.mdx b/src/common/docs/wallet-ecosystems/_solana-torus-wallet-description.mdx new file mode 100644 index 000000000..0a246fd48 --- /dev/null +++ b/src/common/docs/wallet-ecosystems/_solana-torus-wallet-description.mdx @@ -0,0 +1,4 @@ +The Solana Torus Wallet is a specialized version of the Torus Wallet, tailored specifically for the Solana ecosystem. Designed to facilitate seamless +integrations with leading Solana platforms such as Magic Eden and Star Atlas, this wallet embodies the core principles of interoperability and ease of +use within the Solana network. This focus ensures users enjoy a smooth, secure, and efficient experience when engaging with Solana's vibrant ecosystem +and its diverse applications. diff --git a/src/common/docs/wallet-ecosystems/_torus-wallet-description.mdx b/src/common/docs/wallet-ecosystems/_torus-wallet-description.mdx new file mode 100644 index 000000000..299973b65 --- /dev/null +++ b/src/common/docs/wallet-ecosystems/_torus-wallet-description.mdx @@ -0,0 +1,4 @@ +The Torus Wallet, the in-house wallet from Web3Auth, offers a seamless integration across leading platforms such as Opensea, 1inch, thereby enhancing +interoperability. Equipped with comprehensive features including fiat on-ramp top-ups, pre-generation of wallets, and swap functionalities, the Torus +Wallet has set a high standard for convenience and utility in the blockchain space. This wallet exemplifies the potential of Web3Auth technology to +simplify the user experience while maintaining high levels of security and efficiency. diff --git a/src/common/docs/wallet-ecosystems/_wallet-ecosystems-description.mdx b/src/common/docs/wallet-ecosystems/_wallet-ecosystems-description.mdx new file mode 100644 index 000000000..aa24f4fdd --- /dev/null +++ b/src/common/docs/wallet-ecosystems/_wallet-ecosystems-description.mdx @@ -0,0 +1,5 @@ +Wallet Ecosystems are flagship integrations of Web3Auth from established Web3 communities, which are available for seamless integrations within your +own application. This innovative platform leverages the Web3Auth infrastructure for efficient key management while offering developers a +straightforward and user-friendly interface, to quickly integrate complex features of Web3Auth within seconds while getting access to the user base of +existing communities. This integration facilitates essential features such as MPC with Account Abstraction, ensuring a smooth and unified user +experience across different platforms. diff --git a/src/common/docs/wallet-ecosystems/_xrpl-torus-wallet-description.mdx b/src/common/docs/wallet-ecosystems/_xrpl-torus-wallet-description.mdx new file mode 100644 index 000000000..69376ac40 --- /dev/null +++ b/src/common/docs/wallet-ecosystems/_xrpl-torus-wallet-description.mdx @@ -0,0 +1,4 @@ +The XRPL Torus Wallet is a mobile-first solution meticulously crafted for the XRPL ecosystem, emphasizing the effective management of tokens and NFTs. +This iteration of the Torus Wallet leverages the strengths of the original platform while honing in on the unique demands of the XRPL environment. It +offers users an intuitive, secure, and seamless experience tailored to the fast-paced world of XRPL, facilitating smooth transactions and interactions +with digital assets. diff --git a/src/common/guides/_instantiation-web3auth.mdx b/src/common/guides/_instantiation-web3auth.mdx index 432e17f7d..3cc69296f 100644 --- a/src/common/guides/_instantiation-web3auth.mdx +++ b/src/common/guides/_instantiation-web3auth.mdx @@ -35,7 +35,7 @@ const web3auth = new Web3AuthNoModal({ Here, we're using the `chainConfig` property to set the chainId and chainNamespace. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of available providers -[here](/sdk/helper-sdks/providers/) to select from. +[here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/common/guides/_interacting-with-blockchain.mdx b/src/common/guides/_interacting-with-blockchain.mdx index b3f23c5ab..53a7c2e6d 100644 --- a/src/common/guides/_interacting-with-blockchain.mdx +++ b/src/common/guides/_interacting-with-blockchain.mdx @@ -2,18 +2,17 @@ import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; So if you have completed this far, it means that you have successfully authenticated your user. Now, you can use the provider returned by Web3Auth as -`web3auth.provider` to interact with your blockchain. You can use the [Provider SDKs](/sdk/helper-sdks/providers/) to perform RPC Calls to your -blockchain. +`web3auth.provider` to interact with your blockchain. You can use the [Provider SDKs](/sdk/providers/) to perform RPC Calls to your blockchain. Web3Auth is chain agnostic, ie. depending on whatever blockchain or layer-2 you use, Web3Auth can easily support that. Web3Auth has native providers for EVM and Solana blockchains and for others, you can get the private key in the user scope and make RPC calls. For standardising the type of provider, Web3Auth Base provides a `IProvider` from which you can create your own provider. -- [Ethereum Provider](/sdk/helper-sdks/providers/evm) gives you the capability of making RPC calls to the EVM compatible blockchains. -- [Solana Provider](/sdk/helper-sdks/providers/solana) gives you the capability of making RPC calls to the Solana blockchain. -- [XRPL Provider](/sdk/helper-sdks/providers/xrpl) gives you the capability of making RPC calls to the XRPL blockchain. +- [Ethereum Provider](/sdk/providers/evm) gives you the capability of making RPC calls to the EVM compatible blockchains. +- [Solana Provider](/sdk/providers/solana) gives you the capability of making RPC calls to the Solana blockchain. +- [XRPL Provider](/sdk/providers/xrpl) gives you the capability of making RPC calls to the XRPL blockchain. - If you want to use any other chain except Solana or EVM chains, for ex: Starknet, you can specify the value of `chainNamespace` field as other in - the Web3Auth SDK Constructor. Refer to: [Using other blockchains](/sdk/helper-sdks/providers/common) + the Web3Auth SDK Constructor. Refer to: [Using other blockchains](/sdk/providers/common) ### Get User Accounts @@ -115,7 +114,7 @@ const getBalance = async () => { // await ethersProvider.getBalance(address) // Balance is in wei // ); const balance = ethers.formatEther( - await ethersProvider.getBalance(address) // Balance is in wei + await ethersProvider.getBalance(address), // Balance is in wei ); console.log(balance); }; diff --git a/src/common/guides/_setup-aws-cognito.mdx b/src/common/guides/_setup-aws-cognito.mdx index 15dbacbd7..f93a25706 100644 --- a/src/common/guides/_setup-aws-cognito.mdx +++ b/src/common/guides/_setup-aws-cognito.mdx @@ -44,7 +44,7 @@ - Sign out URL(s): `http://localhost:3000` - Additional to your own URLs for the application, please add - [https://testing.openlogin.com/auth](https://testing.openlogin.com/auth) (for Web3Auth testnet used in demo applications) and - - [https://app.openlogin.com/auth](https://app.openlogin.com/auth) (for Web3Auth mainnet used in production applications). + - [https://auth.web3auth.io/auth](https://auth.web3auth.io/auth) (for Web3Auth mainnet used in production applications). - OAuth2.0 - Select [x] `Implicit grant` from **Allowed OAuth Flows** - Select [x] `email` `openid` `profile` from **Allowed OAuth Scopes** diff --git a/src/common/guides/_w3a-sfa-web-instantiation-auth0.mdx b/src/common/guides/_w3a-sfa-web-instantiation-auth0.mdx index d81b22dd4..93ee174db 100644 --- a/src/common/guides/_w3a-sfa-web-instantiation-auth0.mdx +++ b/src/common/guides/_w3a-sfa-web-instantiation-auth0.mdx @@ -43,7 +43,7 @@ const privateKeyProvider = new EthereumPrivateKeyProvider({ Here, we're using the `chainConfig` property to set the `chainId` and `chainNamespace` among other parameters. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of -available providers [here](/sdk/helper-sdks/providers/) to select from. +available providers [here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/common/guides/_w3a-sfa-web-instantiation-google.mdx b/src/common/guides/_w3a-sfa-web-instantiation-google.mdx index ea00c4b16..9757fc494 100644 --- a/src/common/guides/_w3a-sfa-web-instantiation-google.mdx +++ b/src/common/guides/_w3a-sfa-web-instantiation-google.mdx @@ -43,7 +43,7 @@ const privateKeyProvider = new EthereumPrivateKeyProvider({ Here, we're using the `chainConfig` property to set the `chainId` and `chainNamespace` among other parameters. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of -available providers [here](/sdk/helper-sdks/providers/) to select from. +available providers [here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/common/sdk/core-kit/sfa/_auth_in_core_kit_sfa.mdx b/src/common/sdk/core-kit/sfa/_auth_in_core_kit_sfa.mdx index 3e0549028..9f8924b37 100644 --- a/src/common/sdk/core-kit/sfa/_auth_in_core_kit_sfa.mdx +++ b/src/common/sdk/core-kit/sfa/_auth_in_core_kit_sfa.mdx @@ -15,7 +15,7 @@ For MFA enabled users, you'll see `Error("User has already enabled mfa, please u ### Without Openlogin Redirection Flow -By default, to reconstruct key in both states, Web3Auth SDKs redirects the user to `http://app.openlogin.com`. Where all the computation to +By default, to reconstruct key in both states, Web3Auth SDKs redirects the user to `https://auth.web3auth.io`. Where all the computation to reconstruct the key is done. The advantage of this approach is that it makes it easy for applications to integrate web3auth SDK without having to worry about the key reconstruction process. But sometimes, applications want to reconstruct the key in their application context, where the authentication flow described can be used with this SDK. @@ -27,7 +27,7 @@ your use case. ![Web3Auth Plug and Play Login Modal](/dashboard/verifiers/create-verifiers.gif) -Visit [Auth Provider Setup](/auth-provider-setup/byo-jwt-providers#set-up-custom-jwt-verifier) to learn more about creating custom verifiers. +Visit [Auth Provider Setup](/auth-provider-setup/byo-jwt-provider#set-up-custom-jwt-verifier) to learn more about creating custom verifiers. ## Filled Custom JWT Verifier diff --git a/src/common/sdk/core-kit/sfa/_instantiating_provider.mdx b/src/common/sdk/core-kit/sfa/_instantiating_provider.mdx index 30541c915..4a933daea 100644 --- a/src/common/sdk/core-kit/sfa/_instantiating_provider.mdx +++ b/src/common/sdk/core-kit/sfa/_instantiating_provider.mdx @@ -4,10 +4,10 @@ import TabItem from "@theme/TabItem"; For getting the appropriate key for your selected chain, you need to instantiate a provider. This provider is used to make calls to the selected blockchain. Currently, Web3Auth exposes the following provider packages to be integrated within the SDKs: -- [EthereumPrivateKeyProvider](/sdk/helper-sdks/providers/evm): For Ethereum and EVM compatible chains (secp256k1 private key) -- [SolanaPrivateKeyProvider](/sdk/helper-sdks/providers/solana): For Solana Blockchain (ed25519 private key) -- [XRPLPrivateKeyProvider](/sdk/helper-sdks/providers/xrpl): For XRP Ledger -- [CommonPrivateKeyProvider](/sdk/helper-sdks/providers/common): For other blockchains (secp256k1 private key) +- [EthereumPrivateKeyProvider](/sdk/providers/evm): For Ethereum and EVM compatible chains (secp256k1 private key) +- [SolanaPrivateKeyProvider](/sdk/providers/solana): For Solana Blockchain (ed25519 private key) +- [XRPLPrivateKeyProvider](/sdk/providers/xrpl): For XRP Ledger +- [CommonPrivateKeyProvider](/sdk/providers/common): For other blockchains (secp256k1 private key) Using these providers, you can export the private keys for the respective curves of the selected blockchain. You can use these keys to even create manual providers for other blockchains supporting the curves/ have conversion packages for their blockchain curves. diff --git a/src/common/sdk/core-kit/sfa/_sfa_node_custom_jwt_example.mdx b/src/common/sdk/core-kit/sfa/_sfa_node_custom_jwt_example.mdx index d5d63e50b..f68f5700b 100644 --- a/src/common/sdk/core-kit/sfa/_sfa_node_custom_jwt_example.mdx +++ b/src/common/sdk/core-kit/sfa/_sfa_node_custom_jwt_example.mdx @@ -7,7 +7,7 @@ const fs = require("fs"); // Use "openssl genrsa -out privateKey.pem 2048" to generate a private key // Also, use this private key to generate a public key using "openssl rsa -in privateKey.pem -pubout -out publicKey.pem" // Convert PEM to JWKS and expose it on a public URL, and make a web3auth verifier using that. -// Check out https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers for more details. +// Check out https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider for more details. var privateKey = fs.readFileSync("privateKey.pem"); const privateKeyProvider = new EthereumPrivateKeyProvider({ diff --git a/src/common/sdk/core-kit/sfa/_sfa_web_custom_jwt_example.mdx b/src/common/sdk/core-kit/sfa/_sfa_web_custom_jwt_example.mdx index 46baf797b..b045b6c21 100644 --- a/src/common/sdk/core-kit/sfa/_sfa_web_custom_jwt_example.mdx +++ b/src/common/sdk/core-kit/sfa/_sfa_web_custom_jwt_example.mdx @@ -8,7 +8,7 @@ import fs from "fs"; // Use "openssl genrsa -out privateKey.pem 2048" to generate a private key // Also, use this private key to generate a public key using "openssl rsa -in privateKey.pem -pubout -out publicKey.pem" // Convert PEM to JWKS and expose it on a public URL, and make a web3auth verifier using that. -// Check out https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers for more details. +// Check out https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider for more details. var privateKey = fs.readFileSync("privateKey.pem"); // Define the chain config according to the chain you want to connect to @@ -58,7 +58,7 @@ const web3authSfaprovider = await web3auth.connect({ exp: Math.floor(Date.now() / 1000) + 60 * 60, }, privateKey, // <-- privateKey to sign the JWT Token - { algorithm: "RS256", keyid: "1bb9605c36e69386830202b2d" } + { algorithm: "RS256", keyid: "1bb9605c36e69386830202b2d" }, ), // or replace it with your newly created unused JWT Token. }); diff --git a/src/common/sdk/pnp/web/_chain-config.mdx b/src/common/sdk/pnp/web/_chain-config.mdx index 130d09d9e..c283b2d47 100644 --- a/src/common/sdk/pnp/web/_chain-config.mdx +++ b/src/common/sdk/pnp/web/_chain-config.mdx @@ -13,7 +13,7 @@ import Tabs from "@theme/Tabs"; | Parameter | Description | | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `chainNamespace` | The namespace of your preferred chain. Checkout [Providers SDK Reference](/sdk/helper-sdks/providers) for understanding RPC Calls. It accepts `ChainNamespaceType` as a value. | +| `chainNamespace` | The namespace of your preferred chain. Checkout [Providers SDK Reference](/sdk/providers) for understanding RPC Calls. It accepts `ChainNamespaceType` as a value. | | `chainId` | The chain id of the selected blockchain in hex `string` format. | | `rpcTarget` |
  • RPC Target URL for the selected `chainNamespace` & `chainId`.
  • We provide a default RPC Target for certain blockchains, but due to congestion it might be slow hence it is recommended to provide your own RPC Target URL.
| | `wsTarget` | Web socket target URL for the chain in `string`. | diff --git a/src/common/sdk/pnp/web/_connect-blockchain.mdx b/src/common/sdk/pnp/web/_connect-blockchain.mdx index 2836cb6d3..7b04d6334 100644 --- a/src/common/sdk/pnp/web/_connect-blockchain.mdx +++ b/src/common/sdk/pnp/web/_connect-blockchain.mdx @@ -10,8 +10,8 @@ Web3Auth. :::tip -Checkout the [Providers SDK Reference](/sdk/helper-sdks/providers) to learn more. +Checkout the [Providers SDK Reference](/sdk/providers) to learn more. -- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/helper-sdks/providers/evm) -- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/helper-sdks/providers/solana) -- [Default Provider for all other Blockchains](/sdk/helper-sdks/providers/common) +- [For EVM based Chains `@web3auth/ethereum-provider`](/sdk/providers/evm) +- [For Solana Blockchain `@web3auth/solana-provider`](/sdk/providers/solana) +- [Default Provider for all other Blockchains](/sdk/providers/common) diff --git a/src/common/sdk/pnp/web/_openlogin-adapter-intro.mdx b/src/common/sdk/pnp/web/_openlogin-adapter-intro.mdx index 68db49175..d448b8d84 100644 --- a/src/common/sdk/pnp/web/_openlogin-adapter-intro.mdx +++ b/src/common/sdk/pnp/web/_openlogin-adapter-intro.mdx @@ -2,8 +2,8 @@ import OpenloginWhiteLabelExample from "./_openlogin-whitelabel-example.mdx"; The default adapter of Web3Auth is the [`openlogin-adapter`](/sdk/pnp/web/adapters/openlogin). This adapter is a wrapper around the [`openlogin`](/sdk/pnp/web/adapters/openlogin) library from Web3Auth and enables the social login features. For customising features of the main -Web3Auth flow, like [Whitelabel](/pnp/features/whitelabel), [Custom Authentication](/pnp/features/custom-authentication), etc. you need to customise -the Openlogin Adapter. +Web3Auth flow, like [Whitelabel](/features/whitelabel), [Custom Authentication](/features/custom-authentication), etc. you need to customise the +Openlogin Adapter. :::tip @@ -22,7 +22,7 @@ For customising the redirect screens while logging in and constructing the key, :::tip This is just one of the aspects of whitelabeling you can achieve with Web3Auth. To know more in depth about how you can Whitelabel your application -with Web3Auth, have a look at our [Whitelabeling SDK Reference](/pnp/features/whitelabel). +with Web3Auth, have a look at our [Whitelabeling SDK Reference](/features/whitelabel). ::: @@ -35,7 +35,7 @@ with Web3Auth, have a look at our [Whitelabeling SDK Reference](/pnp/features/wh ##### `loginConfig` With Web3Auth, you have the option to configure logins using your own authentication services. For adding your own authentication, you have to first -configure your verifiers in the Web3Auth Dashboard. Have a look at our [Custom Authentication Documentation](/pnp/features/custom-authentication/) for +configure your verifiers in the Web3Auth Dashboard. Have a look at our [Custom Authentication Documentation](/features/custom-authentication/) for configuring that first. Custom Authentication in Web3Auth is supported by the Openlogin Adapter, which is the default adapter for the Web3Auth SDK. For this, you need to @@ -43,6 +43,6 @@ configure the `loginConfig` parameter in the `adapterSettings` of the `openlogin :::tip -Refer to the [Custom Authentication Documentation](/pnp/features/custom-authentication) for more information. +Refer to the [Custom Authentication Documentation](/features/custom-authentication) for more information. ::: diff --git a/src/common/sdk/pnp/web/_openlogin-adapter-settings.mdx b/src/common/sdk/pnp/web/_openlogin-adapter-settings.mdx index bf873711c..b854c3161 100644 --- a/src/common/sdk/pnp/web/_openlogin-adapter-settings.mdx +++ b/src/common/sdk/pnp/web/_openlogin-adapter-settings.mdx @@ -40,7 +40,7 @@ export type OpenLoginOptions = { /** * network specifies the openlogin sdk url to be used. * - * - `'mainnet'`: https://app.openlogin.com will be used which is the production version. + * - `'mainnet'`: https://auth.web3auth.io will be used which is the production version. * - `'cyan'`: https://cyan.openlogin.com will be used which is the production cyan version. * - `'testnet'`: https://testing.openlogin.com will be used which is the testing version. * - `'development'`: http://localhost:3000 will be used for development purpose. diff --git a/src/common/sdk/pnp/web/_openlogin-options.mdx b/src/common/sdk/pnp/web/_openlogin-options.mdx index 07f6403e7..87f95cebf 100644 --- a/src/common/sdk/pnp/web/_openlogin-options.mdx +++ b/src/common/sdk/pnp/web/_openlogin-options.mdx @@ -42,7 +42,7 @@ export type OpenLoginOptions = { /** * network specifies the openlogin sdk url to be used. * - * - `'mainnet'`: https://app.openlogin.com will be used which is the production version. + * - `'mainnet'`: https://auth.web3auth.io will be used which is the production version. * - `'cyan'`: https://cyan.openlogin.com will be used which is the production cyan version. * - `'testnet'`: https://testing.openlogin.com will be used which is the testing version. * - `'development'`: http://localhost:3000 will be used for development purpose. diff --git a/src/common/sdk/pnp/web/_plugins-intro.mdx b/src/common/sdk/pnp/web/_plugins-intro.mdx index 33886c66b..b16bb1d30 100644 --- a/src/common/sdk/pnp/web/_plugins-intro.mdx +++ b/src/common/sdk/pnp/web/_plugins-intro.mdx @@ -1,20 +1,10 @@ -Plugins are essentially extensions to the core functionality of Web3Auth, allowing you to add additional features to your dApp. These features can be -used to extend the UI functionalities, making your integration more interoperable, and a lot more, even having the functionality to be customised -extremely and to your liking. +Plugins are essentially extensions to the core functionality of Web3Auth, allowing you to add +additional features to your dApp. These features can be used to extend the UI functionalities, +making your integration more interoperable, and a lot more, even having the functionality to be +customised extremely and to your liking. :::info This step is totally optional. If you don't want to use any plugins, feel free to skip this section. ::: - -Currently Web3Auth supports the following two plugins: - -- [`@web3auth/torus-wallet-connector-plugin`](/sdk/helper-sdks/plugins/evm-wallet) -- [`@web3auth/solana-wallet-connector-plugin`](/sdk/helper-sdks/plugins/solana-wallet) - -:::tip - -Learn about adding plugins to your Web3Auth instance [here](/sdk/helper-sdks/plugins). - -::: diff --git a/src/components/HelpCards/index.tsx b/src/components/HelpCards/index.tsx index 68a5fab13..c4889a2f1 100644 --- a/src/components/HelpCards/index.tsx +++ b/src/components/HelpCards/index.tsx @@ -5,7 +5,6 @@ import styles from "./styles.module.css"; export default function QuickNavigation() { return (
-

Need Help?

@@ -31,18 +30,18 @@ export default function QuickNavigation() {
- +
Troubleshooting
-

Stuck somewhere? Checkout the Troubleshooting section

+

Stuck somewhere? Checkout our troubleshooting tips for common issues.

diff --git a/src/components/HomeQuickStartBanner/index.tsx b/src/components/HomeQuickStartBanner/index.tsx index 7ce601195..de4bb4f91 100644 --- a/src/components/HomeQuickStartBanner/index.tsx +++ b/src/components/HomeQuickStartBanner/index.tsx @@ -1,5 +1,7 @@ import Link from "@docusaurus/Link"; -import web3AuthModal from "@site/static/images/web3auth-modal.png"; +import { useColorMode } from "@docusaurus/theme-common"; +import quickStartDark from "@site/static/images/quick-start-dark.svg"; +import quickStartLight from "@site/static/images/quick-start-light.svg"; import { useEffect, useState } from "react"; import styles from "./styles.module.css"; @@ -30,19 +32,1300 @@ export function useWindowDimensions() { } export default function Web3AuthOverview() { + const { colorMode } = useColorMode(); + return (
-

Simplify your Web3 App for Mainstream Adoption

-

Quick start your journey into onboarding users in the platform and blockchain of your choice

- - +

Get started in seconds

+

Build your customized Web3Auth integration in the platform of your choice

+ + Quick start with Integration Builder + + +
- Web3Auth Modal + {colorMode === "dark" ? ( +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ) : ( +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ )}
); diff --git a/src/components/HomeQuickStartBanner/styles.module.css b/src/components/HomeQuickStartBanner/styles.module.css index 1b13f1343..4019a2657 100644 --- a/src/components/HomeQuickStartBanner/styles.module.css +++ b/src/components/HomeQuickStartBanner/styles.module.css @@ -1,14 +1,12 @@ .card { display: flex; - background: rgb(0, 49, 126); - background: -moz-radial-gradient(circle, rgba(0, 49, 126, 1) 0%, rgba(1, 2, 32, 1) 56%); - background: -webkit-radial-gradient(circle, rgba(0, 49, 126, 1) 0%, rgba(1, 2, 32, 1) 56%); - background: radial-gradient(circle, rgba(0, 49, 126, 1) 0%, rgba(1, 2, 32, 1) 56%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00317e",endColorstr="#010220",GradientType=1); - border-radius: var(--ifm-global-radius); + background: var(--w3a-banner-background); + border-radius: 36px; padding: 42px; overflow: hidden; width: 100%; + margin-top: 30px; + margin-bottom: 30px; flex-direction: row; justify-content: space-between; align-items: center; @@ -26,40 +24,30 @@ } .card h3 { - font-weight: 600 !important; + font-weight: 500 !important; font-size: 30px; line-height: 150%; - color: var(--ifm-color-white); margin: 0; } .card p { font-weight: 400 !important; - font-size: 16px; + font-size: 18px; line-height: 150%; - color: var(--ifm-color-white); + color: var(--ifm-color-emphasis-700); } -.ctaBtn { - cursor: pointer; - border-radius: 10px; - border: 0; - font-weight: 700; - font-size: 16px; - height: 42px; - padding: 0 30px; - background: #ffffff; - color: #0364ff; - /* margin-left: 16px; */ -} - -.ctaBtn:hover { - background: #f3f3f4; - text-decoration: none; -} - -.ctaBtn:active { - background: #daf0ff; +.btnContainer { + margin-top: auto; + flex-direction: row; + display: flex; + justify-content: flex-start; + align-items: center; + font-weight: 500; + font-size: 18px; + line-height: 150%; + gap: 6px; + flex-wrap: wrap; } .imageContainer { @@ -81,10 +69,7 @@ @media (min-width: 1232px) { .card { - border-radius: 36px; padding: 42px; - padding-top: 0; - padding-bottom: 0; } .cardContent { @@ -102,7 +87,6 @@ justify-content: center; align-items: center; flex: 3; - overflow: hidden; position: relative; height: max-content; } diff --git a/src/components/PregenerateWallet/index.tsx b/src/components/PregenerateWallet/index.tsx new file mode 100644 index 000000000..a34780601 --- /dev/null +++ b/src/components/PregenerateWallet/index.tsx @@ -0,0 +1,159 @@ +import React, { useState, useEffect } from "react"; +import axios from "axios"; +import styles from "./styles.module.css"; + +export default function LookupAPIPage() { + const networkOptions = ["sapphire_mainnet", "sapphire_devnet"]; + + const constructURL = () => { + const baseUrl = "https://lookup.web3auth.io/lookup"; + const queryParams = new URLSearchParams(formData); + + const readableParams = []; + queryParams.forEach((value, key) => { + readableParams.push( + + {key}={value}& + , + ); + }); + + return ( +
+ GET {baseUrl}?{readableParams} +
+ ); + }; + + const [formData, setFormData] = useState({ + verifier: "w3a-google-demo", + verifierId: "devrel@web3auth.io", + web3AuthNetwork: "sapphire_mainnet", + clientId: "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ", + }); + const [isLoading, setIsLoading] = useState(false); + const [response, setResponse] = useState(null); + const [error, setError] = useState(""); + + const handleChange = (e) => { + setFormData({ ...formData, [e.target.name]: e.target.value }); + }; + + const handleSubmit = async (e) => { + e.preventDefault(); + setIsLoading(true); + setResponse(null); + setError(""); + + try { + const res = await axios.get(`https://lookup.web3auth.io/lookup`, { params: formData }); + setResponse(JSON.stringify(res.data, null, 2)); + } catch (err) { + setError(err.message); + } finally { + setIsLoading(false); + } + }; + + useEffect(() => { + const fetchInitialData = async () => { + setIsLoading(true); + try { + const res = await axios.get(`https://lookup.web3auth.io/lookup`, { params: formData }); + setResponse(JSON.stringify(res.data, null, 2)); + } catch (err) { + setError(err.message); + } finally { + setIsLoading(false); + } + }; + + fetchInitialData(); + }, []); + + return ( + <> +

HTTP Request

+ {constructURL()} + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescriptionValue
+ verifier + + The verifier name can be found on your Web3Auth dashboard. To learn more about verifiers, click{" "} + + here + + . + + +
+ verifierId + + The verifier ID value. One of the ways to get it is via the response to the getUserInfo() method. + + +
+ web3AuthNetwork + Name of the Web3Auth network your project is deployed on. + +
+ clientId + The client ID for your project. This can also be found on the Web3Auth dashboard. + +
+
+

Edit parameters and click submit to see the response in the terminal.

+
+
+ +
+
+ +

Response

+
+ {isLoading &&

Request sent...

} + {response &&
{response}
} + {error &&

{error}

} +
+ + ); +} diff --git a/src/components/PregenerateWallet/styles.module.css b/src/components/PregenerateWallet/styles.module.css new file mode 100644 index 000000000..9245698cb --- /dev/null +++ b/src/components/PregenerateWallet/styles.module.css @@ -0,0 +1,135 @@ +.formTable { + width: 100%; + table-layout: fixed; + padding-top: 20px; +} + +.formTable th, +.formTable td { + padding: 8px; +} + +.formTable th:nth-child(1), +.formTable td:nth-child(1) { + width: 15%; +} + +.formTable th:nth-child(2), +.formTable td:nth-child(2) { + width: 40%; +} + +.formTable th:nth-child(3), +.formTable td:nth-child(3) { + width: 45%; +} + +.formTable input[type="text"], +.formTable select { + width: calc(100% - 24px); + padding: 12px; + border-radius: 8px; + box-sizing: border-box; + background: var(--ifm-background-surface-color); + border: none; +} + +.submitButton { + background: var(--ifm-color-primary); + color: var(--ifm-background-surface-color); + padding: 10px 20px; + border-width: 1px; + border-color: var(--ifm-color-primary); + border-radius: 20px; + cursor: pointer; + font-size: 16px; + display: inline-flex; + align-items: center; + justify-content: center; + margin-top: 10px; +} + +.submitButton:disabled { + background: none; + border: none; +} + +.loader { + border: 4px solid var(--ifm-color-primary-lightest); + border-top: 4px solid var(--ifm-color-primary); + border-radius: 50%; + width: 20px; + height: 20px; + animation: spin 2s linear infinite; +} + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.responseTerminal { + background: var(--ifm-color-gray-900); + color: var(--ifm-color-gray-100); + font-family: "Courier New", monospace; + padding: 20px; + margin-top: 20px; + border-radius: 8px; + min-height: 100px; + overflow: auto; + border: 1px solid var(--ifm-color-gray-500); + white-space: pre-wrap; +} + +.responseTerminal pre { + background: none; + padding: none; + margin: none; +} + +.error { + color: var(--ifm-color-danger); +} + +.urlDisplay { + background-color: var(--ifm-background-surface-color); + border-left: 3px solid var(--ifm-color-primary); + padding: 10px; + font-family: monospace; + color: var(--ifm-color-content); + margin-top: 10px; + padding-bottom: 20px; + border-radius: 5px; + white-space: pre-wrap; +} + +.parameterKey { + font-weight: 700; + color: var(--ifm-color-primary-light); +} + +.parameterValue { + color: var(--ifm-color-primary); +} + +.submitButtonContainer { + display: flex; + justify-content: center; + margin-top: 20px; +} + +.instructionTextContainer { + text-align: center; + margin-top: 20px; + font-weight: bold; +} + +.getMethod { + color: var(--ifm-color-success); + font-weight: bold; + font-family: monospace; +} diff --git a/src/components/ProductCards/index.tsx b/src/components/ProductCards/index.tsx new file mode 100644 index 000000000..3acd2c2ee --- /dev/null +++ b/src/components/ProductCards/index.tsx @@ -0,0 +1,150 @@ +import Link from "@docusaurus/Link"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; + +import styles from "./styles.module.css"; + +export default function QuickNavigation() { + const { siteConfig } = useDocusaurusContext(); + const { baseUrl } = siteConfig; + const chevron = ( + + + + ); + return ( +
+
+
+
+ + + +
+
+
Plug and Play Embedded Wallet SDKs
+

Integrate a non-custodial embedded wallet within your app within seconds.

+ +
+
+
+
+ + + + + +
+
+
Core Kit Integrated Wallet SDKs
+

Personalize your dApp experience with our built-in SDKs where Web3Auth is completely hidden.

+ +
+
+
+
+
+
+ + + +
+
+
Wallet Services
+

Get Modular access to a prebuilt wallet UI, interoperability methods, fiat on-ramps, NFT services, and much more.

+ +
+
+
+
+ + + +
+
+
Wallet Ecosystems
+

Connect directly with flagship integrations of Web3Auth from established communities.

+ +
+
+
+
+ +
+ + + + + Find out which SDK suits your use case. + +

+ Unsure about which of our product bet fits your requirements? With some qualifying questions, discover which product you should use for + your use case. +

+ +
+ Find out More + + + +
+
+ +
+
+ ); +} diff --git a/src/components/ProductCards/styles.module.css b/src/components/ProductCards/styles.module.css new file mode 100644 index 000000000..3c9bba07c --- /dev/null +++ b/src/components/ProductCards/styles.module.css @@ -0,0 +1,186 @@ +.container { + display: flex; + flex-direction: column; + gap: 34px; + margin-top: 34px; + margin-bottom: 34px; + flex-wrap: wrap; +} +.cardContainer { + display: flex; + flex-direction: row; + gap: 34px; + flex-wrap: wrap; + flex: 0 0 100%; /* Let it fill the entire space horizontally */ +} + +.card { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + margin: 0; + padding: 40px; + /* white */ + background: var(--ifm-background-surface-color); + /* gray/200 */ + border: 1px solid var(--w3a-border-color); + /* shadow-sm */ + box-shadow: 0px 1px 2px var(--w3a-border-color); + border-radius: 16px; + text-decoration: none; + color: var(--ifm-color-content); + gap: 34px; + flex: 1; +} + +.cardAlert { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + margin: 0; + padding: 16px; + /* white */ + background: var(--ifm-background-surface-color); + /* gray/200 */ + border: 1px solid var(--w3a-border-color); + /* shadow-sm */ + box-shadow: 0px 1px 2px var(--w3a-border-color); + border-radius: 16px; + text-decoration: none; + color: var(--ifm-color-content); + gap: 34px; + flex: 1; +} + +.links { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + gap: 16px; + flex-wrap: wrap; + margin-top: 16px; +} + +.links a { + font-weight: 500 !important; + font-size: 16px; + line-height: 150%; + display: flex; + align-items: center; + gap: 6px; + color: var(--ifm-color-content); +} + +.links a:hover { + color: var(--ifm-color-primary); +} + +/* .card:hover { + border: 1px solid var(--ifm-color-primary); +} */ + +.cardAlert:hover { + border: 1px solid var(--ifm-color-primary); +} + +.cardIconContainer { + height: 74px; + width: 74px; + padding: 7px; + background-color: var(--ifm-background-surface-color); + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; +} + +.btnContainer { + margin-top: auto; + flex-direction: row; + display: flex; + justify-content: flex-start; + align-items: center; + font-weight: 500; + font-size: 18px; + line-height: 150%; + gap: 6px; + flex-wrap: wrap; +} + +.btnContainerAlert { + margin-top: auto; + flex-direction: row; + display: flex; + justify-content: flex-start; + align-items: center; + font-weight: 500; + font-size: 14px; + line-height: 150%; + flex-wrap: wrap; + padding: 8px 12px; + border-radius: 8px; + background: var(--ifm-color-primary); + color: var(--ifm-background-surface-color); +} + +.cardIcon { + height: 67px; + width: 67px; + color: var(--w3a-color-icon-gray); +} + +.cardIconAlert { + height: 20px; + width: 20px; + color: var(--ifm-color-primary); +} + +.card:hover .cardIcon { + color: var(--ifm-color-primary); +} + +.cardContent { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + gap: 12px; +} + +.cardContent span { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + gap: 5px; +} + +.cardContent h5 { + font-size: 24px; + line-height: 150%; + color: var(--ifm-color-content); + display: block; + margin: 0; + padding: 0; +} + +.cardContent p { + font-size: 16px; + line-height: 150%; + display: block; + margin: 0; + padding: 0; + color: var(--w3a-color-icon-gray); +} + +@media (max-width: 996px) { + .cardContainer { + flex-direction: column; + } + .card { + flex-direction: column; + } +} diff --git a/src/components/ResourcesCards/index.tsx b/src/components/ResourcesCards/index.tsx index 72a33f7b8..a66e669a5 100644 --- a/src/components/ResourcesCards/index.tsx +++ b/src/components/ResourcesCards/index.tsx @@ -8,34 +8,7 @@ export default function QuickNavigation() { const { baseUrl } = siteConfig; return (
-

What is Web3Auth

-

- Web3Auth is a pluggable wallet infrastructure for Web3 wallets and applications. It streamlines the onboarding of both mainstream and crypto - native users in under a minute by providing experiences that they're most comfortable with. With support for all OAuth based logins systems, - web & mobile native platforms, Web3Auth provides a seamless onboarding experience for your users. -

-

Resources

-

- We have a varied collection of guides, references and examples to help you around anywhere with your Web3Auth Integration. Deep dive into the - different aspects of web3 authentication and make your own customised integration. -

- -
- - - -
-
-
SDK Reference
-

Deep dive into the Web3Auth SDKs and get started with your customised integration.

-
-
@@ -49,11 +22,9 @@ export default function QuickNavigation() {
Auth Provider Setup
-

Set up your Auth Provider to use it with Web3Auth.

+

Guidance on configuring authentication providers to integrate seamlessly with Web3Auth for secure user verification.

-
-
@@ -66,10 +37,12 @@ export default function QuickNavigation() {
-
Connect Blockchain
-

Connect to the blockchain of your choice.

+
Connect any blockchain
+

Detailed instructions for integrating Web3Auth with various blockchains, ensuring seamless connectivity for your dApp.

+
+
@@ -83,54 +56,23 @@ export default function QuickNavigation() {
Examples
-

Explore the range of examples across all our SDKs.

-
- -
-
- -
- - - - -
-
-
Blog
-

- Learn from the best in the wallet infra market. Product announcements, comparisons, thought leadership articles from Web3Auth just a - click away. -

+

Discover our collection of examples and sample applications to see our SDKs in action across various use cases.

- +
- - +
-
Guides
-

Set up your Auth Provider to use it with Web3Auth.

+
Infrastructure
+

Comprehensive documentation detailing the architecture and setup managing Web3Auth's infrastructure.

diff --git a/src/components/ResourcesCards/styles.module.css b/src/components/ResourcesCards/styles.module.css index ebca89746..a475532e7 100644 --- a/src/components/ResourcesCards/styles.module.css +++ b/src/components/ResourcesCards/styles.module.css @@ -1,8 +1,4 @@ .heading { - font-weight: 700 !important; - font-size: 34px; - line-height: 48px; - color: var(--ifm-color-content); margin: 0; padding: 0; } @@ -21,6 +17,7 @@ flex-direction: column; gap: 34px; margin-top: 34px; + margin-bottom: 34px; flex-wrap: wrap; } .cardContainer { @@ -37,7 +34,7 @@ justify-content: flex-start; align-items: center; margin: 0; - padding: 33px 22px; + padding: 33px; /* white */ background: var(--ifm-background-surface-color); /* gray/200 */ @@ -56,10 +53,7 @@ } .cardIconContainer { - height: 74px; - width: 74px; - padding: 7px; - background-color: var(--ifm-background-surface-color); + padding: 10px; border-radius: 8px; display: flex; align-items: center; @@ -89,9 +83,8 @@ } .cardContent h5 { - font-weight: 700 !important; font-size: 24px; - line-height: 135.5%; + line-height: 150%; color: var(--ifm-color-content); display: block; margin: 0; @@ -99,7 +92,6 @@ } .cardContent p { - font-weight: 400 !important; font-size: 16px; line-height: 150%; display: block; diff --git a/src/components/SDKReferenceCards/index.tsx b/src/components/SDKReferenceCards/index.tsx index e989eebca..47a7917b8 100644 --- a/src/components/SDKReferenceCards/index.tsx +++ b/src/components/SDKReferenceCards/index.tsx @@ -1,803 +1,961 @@ /* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import { useState } from "react"; -import { corekit, pnp } from "../../common/SDKOptions"; +import { corekitsfa, corekitmfa, pnp, walletecosystems, helpersdks } from "../../common/SDKOptions"; import styles from "./styles.module.css"; -export default function QuickNavigation() { - const { siteConfig } = useDocusaurusContext(); - const { baseUrl } = siteConfig; +const baseUrl = "/docs/"; - const [product, setProduct] = useState(pnp); - const chevron = ( - - - - ); +const chevron = ( + + + +); - const pnpweb = ( -
-
-

Web SDKs

-

- Explore the range of Web3Auth SDKs with support across all major browsers and javascript frameworks. We also have SDKs for NodeJS for - backend authentication and key generation. -

-
-
- - - - -
-
- - - -
-
- - - - -
-
- - - -
-
- - - - - -
-
- - - - - - - - - - -
-
- - - - - - - - - - - -
-
-
- +const webIcons = ( +
+
+ + + +
- ); +
+ + + +
+
+ + + +
+
+ + + + +
+
+ + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + + + + + + +
+
+); - const pnpmobile = ( -
-
-

Mobile SDKs

-

- Web3Auth supports all major mobile platforms. We provide SDKs for native iOS, & Android alongside hybrid mobile platforms like React Native - & Flutter. -

-
-
- - - - - -
-
- - - -
-
- - - - - - - - - - - - - - - - - -
-
- - - -
-
-
- +const mobileIcons = ( +
+
+ + + + +
- ); +
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+
+); - const pnpgaming = ( -
-
-
-

Gaming SDKs

- {/*
-
{pnp} Only
-
*/} +export const pnpweb = ( +
+
+

Plug and Play Web SDKs

+

Designed to provide seamless and straightforward integration for web applications across all major browsers and javascript frameworks.

+ {webIcons} +
+ +
+); -

Seamlessly authenticate users into your Web3 games with their socials using Web3Auth Gaming SDKs.

-
-
- - - -
-
- - - -
-
-
- +export const pnpmobile = ( +
+
+

Plug and Play Mobile SDKs

+

+ Designed for mobile developers, these SDKs ensure a secure wallet integration experience across various mobile platforms, enhancing user + engagement and security. +

+ {mobileIcons}
- ); + +
+); - const corekitsfa = ( -
-
-

Single Factor Auth SDKs

-

- These SDKs allow for the integration of a single factor of authentication, such as a social login, into your dApp. They are designed to be - simple to use and can be integrated into your dApp with minimal effort, allowing you to directly use the Web3Auth Network for Key - Management. -

-
-
- - - - -
-
- - - - -
-
- - - -
-
- - - - - -
-
- - - -
-
-
- +export const pnpgaming = ( +
+
+
+

Plug and Play Gaming SDKs

+ {/*
+
{pnp} Only
+
*/} +
+ +

Seamlessly authenticate users into your Web3 games with their socials using Web3Auth Gaming SDKs.

+
+
+ + + +
+
+ + + +
+
- ); + +
+); - const corekitmfa = ( -
-
-

Multi Factor SDKs

-

- An integral part of this infrastructure is the tKey SDK, the foundational SDK utilized for the implementation of Web3Auth PnP and Core-Kit. -

-
-
- - - - -
-
- - - - -
-
- - - -
-
- - - - - -
-
- - - -
-
-
- +export const corekitsfaweb = ( +
+
+

Core Kit SFA Web SDK

+

Web3Auth one click login, directly within your web application, without any redirection.

+ {webIcons}
- ); + +
+); +export const corekitsfamobile = ( +
+
+

Core Kit SFA Mobile SDKs

+

+ Integrate Web3Auth's key management libraries directly within the app, ensuring a native and user-friendly experience across various mobile + platforms. +

+ {mobileIcons} +
+ +
+); +export const corekitsfabackend = ( +
+
+

Core Kit SFA Backend SDK

+

+ Designed to extend the Web3Auth authentication mechanism to server-side operations, offering developers a secure way to manage user + authentication in alignment with their application's backend logic. +

+
+
+ + + + +
+
+
+ +
+); + +export const corekitmfaweb = ( +
+
+

Core Kit MFA Web SDKs

+

+ Designed for projects that require a tailored approach to authentication, providing the tools and flexibility necessary to build advanced, + secure, and integrated authentication systems +

+ {webIcons} +
+ +
+); +export const corekitmfamobile = ( +
+
+

Core Kit MFA Mobile SDKs

+

Native integration with end to end wallet management tools embedded within the application.

+ {mobileIcons} +
+ +
+); + +export const safeauthkit = ( +
+
+

Web3Auth + Safe AA Kit

+

The complete toolkit to build your own Account Abstraction wallet powered by Web3Auth MPC and Safe{"{Core}"} AA Kit

+ {webIcons} +
+ +
+); + +export const mocaverse = ( +
+
+

Mocaverse Id by Animoca Brands

+

+ An embedded wallet that brings the Mocaverse Ecosystem within your application. Powered by Account Abstraction and MPC, it is a secure and + seamless experience for your users. +

+ {webIcons} +
+ +
+); + +export const toruswallets = ( +
+
+

Torus Wallets

+

The in-house wallet from Web3Auth, offering a seamless integration with interoperability across major dApps and protocols.

+ {webIcons} +
+ +
+); + +export const walletservices = ( +
+
+

Wallet Services

+

+ Pluggable enhancements for your Web3Auth-integrated wallet, designed to elevate both functionality and user experience within your + application. Includes customisable Wallet UI, Fiat on Ramp, Interoperability features and much more. +

+ {webIcons} +
+ +
+); + +export const providers = ( +
+
+

Private Key Providers

+

Wrappers around the private key generated by Web3Auth for simple access to the blockchain.

+ {webIcons} +
+ +
+); + +export default function QuickNavigation() { + const [product, setProduct] = useState(pnp); return (
-

Explore our SDKs

setProduct(pnp)}> {pnp}
-
setProduct(corekit)}> - {corekit} +
setProduct(corekitsfa)}> + {corekitsfa} +
+
setProduct(corekitmfa)}> + {corekitmfa} +
+
setProduct(walletecosystems)}> + {walletecosystems} +
+
setProduct(helpersdks)}> + {helpersdks}
{product === pnp && pnpweb} {product === pnp && pnpmobile} {product === pnp && pnpgaming} - {product === corekit && corekitsfa} - {product === corekit && corekitmfa} + {product === corekitsfa && corekitsfaweb} + {product === corekitsfa && corekitsfamobile} + {product === corekitsfa && corekitsfabackend} + {product === corekitmfa && corekitmfaweb} + {product === corekitmfa && corekitmfamobile} + {product === walletecosystems && safeauthkit} + {product === walletecosystems && mocaverse} + {product === walletecosystems && toruswallets} + {product === helpersdks && walletservices} + {product === helpersdks && providers}
); } diff --git a/src/components/SDKReferenceCards/styles.module.css b/src/components/SDKReferenceCards/styles.module.css index 36e8cdff5..927d33f3f 100644 --- a/src/components/SDKReferenceCards/styles.module.css +++ b/src/components/SDKReferenceCards/styles.module.css @@ -2,18 +2,16 @@ display: flex; padding-top: 30px; padding-bottom: 30px; - justify-content: space-between; + justify-content: flex-start; flex: 0 0 100%; flex-wrap: wrap; align-items: center; - position: sticky; top: 70px; - background-color: var(--ifm-background-color); border: none; } .heading { - font-weight: 700 !important; + font-weight: 500 !important; font-size: 32px; line-height: 48px; color: var(--ifm-color-content); @@ -53,20 +51,18 @@ text-align: left; width: 50%; padding: 50px; - padding-top: 25px; - padding-bottom: 25px; gap: 30px; flex-wrap: wrap; + justify-content: center; } .cardContainerIntro { border-right: 1px solid var(--w3a-border-light-color); - justify-content: center; } .cardContainerIntro h3, .cardContainer h3 { - font-weight: 700 !important; + font-weight: 500 !important; font-size: 24px; line-height: 150%; color: var(--ifm-color-content); @@ -118,18 +114,19 @@ .tabContainer { display: flex; flex-direction: row; - justify-content: center; + justify-content: flex-start; align-items: center; /* white */ background: var(--ifm-background-surface-color); /* gray/200 */ border: 1px solid var(--w3a-border-light-color); + border-right: 0; border-radius: 8px; text-decoration: none; padding: 0; margin: 0; - width: max-content; overflow: hidden; + flex-wrap: wrap; cursor: pointer; } @@ -150,11 +147,12 @@ font-size: 15px; line-height: 150%; color: var(--w3a-color-icon-gray); + border-right: 1px solid var(--w3a-border-light-color); } .selectedTab { color: #fff; - background: #1C64F2; + background: #1c64f2; } .pillContainer { diff --git a/src/components/SidebarMenu/styles.module.css b/src/components/SidebarMenu/styles.module.css index 57b8e3332..063a2b46a 100644 --- a/src/components/SidebarMenu/styles.module.css +++ b/src/components/SidebarMenu/styles.module.css @@ -4,7 +4,7 @@ --docs-sections-menu-active-color: #fff; } -html[data-theme='dark'] { +html[data-theme="dark"] { --docs-sections-menu-background-color: #3f3f3f; } @@ -55,7 +55,6 @@ html[data-theme='dark'] { margin-bottom: 0.5rem; font-size: 14px; font-weight: 600; - font-family: theme('fontFamily.jakarta'); } .description { diff --git a/src/components/navDropdown/help.html b/src/components/navDropdown/help.html index 570b07777..7230522fc 100644 --- a/src/components/navDropdown/help.html +++ b/src/components/navDropdown/help.html @@ -21,9 +21,10 @@

Support Forum

  • - + diff --git a/src/components/navDropdown/resources.html b/src/components/navDropdown/resources.html index 0f072431a..984573faa 100644 --- a/src/components/navDropdown/resources.html +++ b/src/components/navDropdown/resources.html @@ -1,5 +1,24 @@
  • -
  • - + - - - +
    -

    Auth Provider Setup

    -

    Set up your Auth Provider to use it with Web3Auth

    +

    Infrastructure

    +

    Details of the Web3Auth architecture +

  • + +
    - -
    +
  • - + - + - - - -
    -

    Blog

    -

    Learn from the best in the wallet infra market. -

    -
    -
    -
  • -
  • - - - - - -
    -

    Guides

    -

    Step by step tutorials to major usecases of Web3Auth.

    +

    Troubleshooting

    +

    Checkout the solutions for common issues

  • diff --git a/src/components/navDropdown/sdk.html b/src/components/navDropdown/sdk.html index e2e286512..6a975ffd7 100644 --- a/src/components/navDropdown/sdk.html +++ b/src/components/navDropdown/sdk.html @@ -7,18 +7,22 @@ document.getElementById("pnp-menu").classList.add("selected-menu"); document.getElementById("wallet-ecosystems-menu-button").classList.remove("selected"); document.getElementById("wallet-ecosystems-menu").classList.remove("selected-menu"); - document.getElementById("core-kit-menu-button").classList.remove("selected"); - document.getElementById("core-kit-menu").classList.remove("selected-menu"); - document.getElementById("wallet-services-menu-button").classList.remove("selected"); - document.getElementById("wallet-services-menu").classList.remove("selected-menu");' onmouseover=' + document.getElementById("core-kit-sfa-menu-button").classList.remove("selected"); + document.getElementById("core-kit-sfa-menu").classList.remove("selected-menu"); + document.getElementById("core-kit-mfa-menu-button").classList.remove("selected"); + document.getElementById("core-kit-mfa-menu").classList.remove("selected-menu"); + document.getElementById("helper-sdks-menu-button").classList.remove("selected"); + document.getElementById("helper-sdks-menu").classList.remove("selected-menu");' onmouseover=' document.getElementById("pnp-menu-button").classList.add("selected"); document.getElementById("pnp-menu").classList.add("selected-menu"); document.getElementById("wallet-ecosystems-menu-button").classList.remove("selected"); document.getElementById("wallet-ecosystems-menu").classList.remove("selected-menu"); - document.getElementById("core-kit-menu-button").classList.remove("selected"); - document.getElementById("core-kit-menu").classList.remove("selected-menu"); - document.getElementById("wallet-services-menu-button").classList.remove("selected"); - document.getElementById("wallet-services-menu").classList.remove("selected-menu");'> + document.getElementById("core-kit-sfa-menu-button").classList.remove("selected"); + document.getElementById("core-kit-sfa-menu").classList.remove("selected-menu"); + document.getElementById("core-kit-mfa-menu-button").classList.remove("selected"); + document.getElementById("core-kit-mfa-menu").classList.remove("selected-menu"); + document.getElementById("helper-sdks-menu-button").classList.remove("selected"); + document.getElementById("helper-sdks-menu").classList.remove("selected-menu");'>

    Plug and Play

    Use pre configured UX flows and integrate your Web3Auth instance quickly.

    @@ -26,50 +30,58 @@

    Plug and Play

  • - + document.getElementById("helper-sdks-menu-button").classList.remove("selected"); + document.getElementById("helper-sdks-menu").classList.remove("selected-menu");'>
    -

    Core Kit

    -

    Build on top of the Web3Auth infrastructural layer and build your own UX flows.

    +

    Core Kit Single Factor Auth

    +

    One click login, all within your application

  • - + document.getElementById("pnp-menu").classList.remove("selected-menu"); + document.getElementById("helper-sdks-menu-button").classList.remove("selected"); + document.getElementById("helper-sdks-menu").classList.remove("selected-menu");'>
    -

    Wallet Services

    -

    Allow your application to use templated wallet UI screens.

    +

    Core Kit Multi Factor Auth

    +

    Build UX flows on top of the Web3Auth infrastructural layer.

  • @@ -77,18 +89,22 @@

    Wallet Services

    @@ -97,6 +113,34 @@

    Wallet Ecosystems

    +
  • + +
    +

    Helper SDKs

    +

    Add ons for extending SDK capabilities

    +
    +
    +
  • @@ -226,9 +270,9 @@

    Flutter SDK

    - +
    +

    Backend

  • - + - +
    -

    SFA Android SDK

    -

    Single Factor Auth, implementing a single key pair flow in Android App

    +

    SFA NodeJS SDK

    +

    Single Factor Auth, implementing a single key pair flow integration in a Node Backend.

  • + + + +
    + +
    + + + + - + + - - - +
      +

      Wallet Services

      +
    • + + + + + + +
      +

      Wallet Services Plugin

      +

      Enable your application to utilize production-ready wallet UI screens.

    • diff --git a/src/css/custom.css b/src/css/custom.css index 54d1c4861..12531ccbc 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -87,6 +87,8 @@ --ifm-color-content-inverse: var(--ifm-color-emphasis-0); --ifm-color-content-secondary: var(--ifm-color-emphasis-600); --ifm-background-color: var(--ifm-color-content-inverse); + --ifm-background-gradient-1: rgba(3, 100, 255, 0.1); + --ifm-background-gradient-2: rgba(202, 90, 255, 0.1); --ifm-background-surface-color: var(--ifm-color-emphasis-0); --ifm-global-border-width: 1px; --ifm-global-radius: 8px; @@ -97,7 +99,7 @@ --ifm-font-family-base: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --ifm-font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - --ifm-font-size-base: 100%; + --ifm-font-size-base: 16px; --ifm-font-weight-light: 300; --ifm-font-weight-normal: 400; --ifm-font-weight-semibold: 500; @@ -221,8 +223,8 @@ --ifm-menu-color-active: var(--ifm-color-primary); --ifm-menu-color-background-active: var(--ifm-hover-overlay); --ifm-menu-color-background-hover: var(--ifm-hover-overlay); - --ifm-menu-link-padding-horizontal: 0.75rem; - --ifm-menu-link-padding-vertical: 0.375rem; + --ifm-menu-link-padding-horizontal: 12px; + --ifm-menu-link-padding-vertical: 6px; --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,'); --ifm-menu-link-sublist-icon-filter: none; --ifm-navbar-background-color: var(--ifm-background-surface-color); @@ -316,6 +318,8 @@ html[data-theme="dark"] { --ifm-color-primary-light: #3f83f8; --ifm-color-primary-lighter: #1c64f2; --ifm-color-primary-lightest: #1a56db; + --ifm-background-gradient-1: rgba(3, 100, 255, 0.15); + --ifm-background-gradient-2: rgba(202, 90, 255, 0.15); --w3a-code-color: #1ac7fe; --ifm-background-color: var(--ifm-color-emphasis-0); --ifm-footer-background-color: var(--ifm-background-surface-color); @@ -336,15 +340,21 @@ html[data-theme="dark"] { .markdown > h4, .markdown > h5, .markdown > h6 { - --ifm-h1-font-size: 2.25rem; - --ifm-h2-font-size: 2rem; - --ifm-h3-font-size: 1.5rem; - --ifm-h4-font-size: 1.25rem; - --ifm-h5-font-size: 1.1rem; - --ifm-h6-font-size: 1rem; + --ifm-h1-font-size: 30px; + --ifm-h1-font-weight: 600 !important; + --ifm-h2-font-size: 26px; + --ifm-h3-font-size: 22px; + --ifm-h4-font-size: 20px; + --ifm-h5-font-size: 18px; + --ifm-h6-font-size: 16px; + --ifm-h7-font-size: 14px; +} + +.markdown h1:first-child { + --ifm-h1-font-size: 38px; } -.markdown > h2:after { +/* .markdown > h2:after { content: ""; display: block; height: var(--ifm-hr-height); @@ -352,9 +362,9 @@ html[data-theme="dark"] { width: 100%; margin: var(--ifm-hr-margin-vertical) 0; border: 0; -} +} */ -.markdown > h1:after { +/* .markdown > h1:after { content: ""; display: block; height: var(--ifm-hr-height); @@ -362,9 +372,9 @@ html[data-theme="dark"] { width: 100%; margin: var(--ifm-hr-margin-vertical) 0; border: 0; -} +} */ -header > h1:after { +/* header > h1:after { content: ""; display: block; height: var(--ifm-hr-height); @@ -372,26 +382,26 @@ header > h1:after { width: 100%; margin: var(--ifm-hr-margin-vertical) 0; border: 0; -} +} */ .markdown > p { - font-size: 1.1rem; + font-size: 16px; } .markdown > ul { - font-size: 1.1rem; + font-size: 16px; } .markdown > ol { - font-size: 1.1rem; + font-size: 16px; } .markdown > div { - font-size: 1.1rem; + font-size: 16px; } .markdown > li { - font-size: 1.1rem; + font-size: 16px; } .markdown > .text-image-column { @@ -402,15 +412,22 @@ header > h1:after { } .table-of-contents__link { - font-size: 0.9rem; + font-size: 14px; } .table-of-contents__link > code { - font-size: 0.8rem; + font-size: 13px; } .menu__link { - font-size: 1.05rem; + color: var(--ifm-color-emphasis-700); + /* leading-loose/text-sm/font-normal */ + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 400; + margin-left: 6px; + line-height: 150%; /* 21px */ } /* .markdown > .text-image-column div:nth-child(1) { @@ -969,8 +986,20 @@ a:any-link:hover { content: "Plug and Play - "; } - #core-kit-menu h3::before { - content: "Core Kit - "; + #core-kit-sfa-menu h3::before { + content: "Core Kit SFA - "; + } + + #core-kit-mfa-menu h3::before { + content: "Core Kit MFA - "; + } + + #wallet-ecosystems-menu h3::before { + content: "Wallet Ecosystems - "; + } + + #helper-sdks-menu h3::before { + content: "Helper SDKs - "; } .sdk-selection-menu { @@ -1034,156 +1063,78 @@ html[data-theme="dark"] .theme-doc-sidebar-container div[title="Expand sidebar"] .sidebarHeading { display: block; - font-weight: 700 !important; - font-size: 12px; + font-weight: 600 !important; + font-size: 16px; line-height: 150%; - text-transform: uppercase; - color: var(--w3a-menu-heading-color); - padding: 0; - margin: 0; + color: var(--ifm-color-emphasis-900); + padding: 12px; + margin: 0px; margin-top: 20px; } -#discourse-comments { - padding: 10px; - background: #ffffff; - border-width: 5px; - border-radius: 30px; - overflow: scroll; - border-color: var(--w3a-banner-background); - max-height: 600px; - border-style: solid; - -ms-overflow-style: none; /* IE and Edge */ - scrollbar-width: none; /* Firefox */ -} - -/* Hide scrollbar for Chrome, Safari and Opera */ -#discourse-comments::-webkit-scrollbar { - display: none; -} - -.form-table { - width: 100%; - table-layout: fixed; - padding-top: 20px; -} - -.form-table th, -.form-table td { - padding: 8px; -} - -.form-table th:nth-child(1), -.form-table td:nth-child(1) { - width: 15%; -} - -.form-table th:nth-child(2), -.form-table td:nth-child(2) { - width: 25%; -} - -.form-table th:nth-child(3), -.form-table td:nth-child(3) { - width: 60%; -} - -.form-table input[type="text"], -.form-table select { - width: calc(100% - 16px); - padding: 8px; - margin: 4px 0; - box-sizing: border-box; +.sidebarImage { + height: 20px; + width: 20px; } -.submit-button { - background-image: linear-gradient(to right, #1352c4, #091bad); - color: white; - padding: 10px 20px; - border: none; - border-radius: 20px; - cursor: pointer; - font-size: 16px; - display: inline-flex; +.sidebarLink { + display: flex; + margin: 0px; + gap: 6px; align-items: center; - justify-content: center; - margin-top: 10px; -} - -.submit-button:disabled { - background-color: #9e9e9e; + flex-direction: row; + justify-content: flex-start; + padding: 6px 12px; + color: #3f83f8; } -.loader { - border: 4px solid #f3f3f3; - border-top: 4px solid #3498db; - border-radius: 50%; - width: 20px; - height: 20px; - animation: spin 2s linear infinite; +.sidebarSection { + display: flex; + margin: 0px; + gap: 6px; + align-items: center; + flex-direction: row; + justify-content: flex-start; + padding: 6px 12px; + color: var(--ifm-color-emphasis-900); } -@keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } +.sidebarLink:hover { + cursor: pointer; + background-color: var(--ifm-color-emphasis-100); + color: #3f83f8; } -.response-terminal { - background-color: #1e1e1e; - color: #dcdcdc; - font-family: "Courier New", monospace; - padding: 20px; - margin-top: 20px; - border-radius: 8px; - min-height: 100px; - overflow: auto; - border: 1px solid #333; - white-space: pre-wrap; +.sidebarLinkText { + color: var(--ifm-color-emphasis-700); + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 150%; } -.error { - color: #ff6347; +.sidebarLinkTextBold { + color: var(--ifm-color-emphasis-700); + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 150%; } -.url-display { - background-color: #f5f5f5; - border-left: 3px solid #1352c4; +#discourse-comments { padding: 10px; - font-family: "Courier New", monospace; - color: #333; - margin-top: 10px; - padding-bottom: 20px; - border-radius: 5px; - white-space: pre-wrap; -} - -.parameter-key { - font-weight: bold; - color: #1352c4; -} - -.parameter-value { - color: #091bad; -} - -.submit-button-container { - display: flex; - justify-content: center; - margin-top: 20px; -} - -.instruction-text-container { - text-align: center; - margin-top: 20px; - font-weight: bold; + background: #ffffff; + border-width: 5px; + border-radius: 30px; + overflow: scroll; + border-color: var(--w3a-banner-background); + max-height: 600px; + border-style: solid; + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ } -.get-method { - color: #28a745; - font-weight: bold; - font-family: "Courier New", monospace; +/* Hide scrollbar for Chrome, Safari and Opera */ +#discourse-comments::-webkit-scrollbar { + display: none; } diff --git a/src/pages/guides/facebook.mdx b/src/pages/guides/facebook.mdx index ad76e8c81..b2731f6c6 100644 --- a/src/pages/guides/facebook.mdx +++ b/src/pages/guides/facebook.mdx @@ -76,7 +76,7 @@ When integrating Web3Auth with Facebook Login the flow looks something like this - https://testing.openlogin.com/auth (for Web3Auth testnet used in demo applications) - - https://app.openlogin.com/auth (for Web3Auth mainnet used in production applications) + - https://auth.web3auth.io/auth (for Web3Auth mainnet used in production applications) ![Facebook OAuth2.0 App Dashboard](/guides/social-providers/facebook/facebook-login-settings-oauth.png) diff --git a/src/pages/guides/flutter-auth0.mdx b/src/pages/guides/flutter-auth0.mdx index e0578dc8c..7139b8749 100644 --- a/src/pages/guides/flutter-auth0.mdx +++ b/src/pages/guides/flutter-auth0.mdx @@ -75,7 +75,7 @@ When integrating Web3Auth Flutter SDK with Social Login the flow looks something - Additional to your own URLs for the application, please add - [https://testing.openlogin.com/auth](https://testing.openlogin.com/auth) (for Web3Auth testnet used in demo applications) and - - [https://app.openlogin.com/auth](https://app.openlogin.com/auth) (for Web3Auth mainnet used in production applications). + - [https://auth.web3auth.io/auth](https://auth.web3auth.io/auth) (for Web3Auth mainnet used in production applications). - [https://cyan.openlogin.com/auth](https://cyan.openlogin.com/auth) (for Web3Auth `cyan` mainnet used in production applications). ![Add Callback URL to Auth0 Dashboard](/guides/auth0/auth0-callback-url.png) diff --git a/src/pages/guides/github-oauth.mdx b/src/pages/guides/github-oauth.mdx index 998823bbe..634ff8b74 100644 --- a/src/pages/guides/github-oauth.mdx +++ b/src/pages/guides/github-oauth.mdx @@ -62,8 +62,8 @@ A JWKS stands for JSON Web Key Set. It is a set of keys containing the public ke the authorization server and signed using the RS256 signing algorithm. If you don't know how to create a JWKS, you can follow this -[web3auth tutorial](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers#how-to-create-jwks). This file must be located on a public -endpoint. To test the example, you will need to modify the file located in the root directory of the project. +[web3auth tutorial](https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider#how-to-create-jwks). This file must be located on a public endpoint. +To test the example, you will need to modify the file located in the root directory of the project. Both the private and the public keys, that you used to create the JWKS, must be in the server directory. In our project, they are called `private.pem` and `public.pem`. @@ -197,5 +197,5 @@ const getPrivateKey = async (idToken: string, verifierId: string) => { References -- [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers) +- [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider) - [Github OAUTH 2.0 flow](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#web-application-flow) diff --git a/src/pages/guides/microsoft-oauth.mdx b/src/pages/guides/microsoft-oauth.mdx index 47f9dc237..f74b125ed 100644 --- a/src/pages/guides/microsoft-oauth.mdx +++ b/src/pages/guides/microsoft-oauth.mdx @@ -45,8 +45,8 @@ A JWKS stands for JSON Web Key Set. It is a set of keys containing the public ke the authorization server and signed using the RS256 signing algorithm. If you don't know how to create a JWKS, you can follow this -[web3auth tutorial](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers#how-to-create-jwks). This file must be located on a public -endpoint. To test the example, you will need to modify the file located in the root directory of the project. +[web3auth tutorial](https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider#how-to-create-jwks). This file must be located on a public endpoint. +To test the example, you will need to modify the file located in the root directory of the project. Both the private and the public keys, that you used to create the JWKS, must be in the server directory. In our project, they are called `private.pem` and `public.pem`. @@ -178,7 +178,7 @@ const getPrivateKey = async (idToken: string, verifierId: string) => { References -- [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers) +- [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider) - [Microsoft OAUTH 2.0 flow](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#redeem-a-code-for-an-access-token) ## Conclusion diff --git a/src/pages/guides/sfa-rn-bare-firebase.mdx b/src/pages/guides/sfa-rn-bare-firebase.mdx index d04eed758..c9f699bcc 100644 --- a/src/pages/guides/sfa-rn-bare-firebase.mdx +++ b/src/pages/guides/sfa-rn-bare-firebase.mdx @@ -233,7 +233,7 @@ const privateKeyProvider = new EthereumPrivateKeyProvider({ Here, we're using the `chainConfig` property to set the `chainId` and `chainNamespace` among other parameters. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of -available providers [here](/sdk/helper-sdks/providers/) to select from. +available providers [here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/pages/guides/sfa-rn-expo-auth0.mdx b/src/pages/guides/sfa-rn-expo-auth0.mdx index 42848abda..987828ea9 100644 --- a/src/pages/guides/sfa-rn-expo-auth0.mdx +++ b/src/pages/guides/sfa-rn-expo-auth0.mdx @@ -207,7 +207,7 @@ const privateKeyProvider = new EthereumPrivateKeyProvider({ Here, we're using the `chainConfig` property to set the `chainId` and `chainNamespace` among other parameters. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of -available providers [here](/sdk/helper-sdks/providers/) to select from. +available providers [here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/pages/guides/sfa-web-aggregate.mdx b/src/pages/guides/sfa-web-aggregate.mdx index ee8d10c5e..e9bed2438 100644 --- a/src/pages/guides/sfa-web-aggregate.mdx +++ b/src/pages/guides/sfa-web-aggregate.mdx @@ -239,7 +239,7 @@ const privateKeyProvider = new EthereumPrivateKeyProvider({ Here, we're using the `chainConfig` property to set the `chainId` and `chainNamespace` among other parameters. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of -available providers [here](/sdk/helper-sdks/providers/) to select from. +available providers [here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/pages/guides/sfa-web-firebase.mdx b/src/pages/guides/sfa-web-firebase.mdx index 2f05e6468..1b2064153 100644 --- a/src/pages/guides/sfa-web-firebase.mdx +++ b/src/pages/guides/sfa-web-firebase.mdx @@ -281,7 +281,7 @@ const privateKeyProvider = new EthereumPrivateKeyProvider({ Here, we're using the `chainConfig` property to set the `chainId` and `chainNamespace` among other parameters. The `chainId` and `chainNamespace` are the id and the namespace respectively of the chain you're connecting to. We've initialized them for EVM for this guide. You can find the list of -available providers [here](/sdk/helper-sdks/providers/) to select from. +available providers [here](/sdk/providers/) to select from. Additionally, sometimes you might face clogging in the network because the test network is a bit clogged at that point. To avoid this, we can use the property `rpcTarget` and pass over the URL of the node you want to connect to. diff --git a/src/pages/guides/styles.module.css b/src/pages/guides/styles.module.css index 188862954..d3095c49b 100644 --- a/src/pages/guides/styles.module.css +++ b/src/pages/guides/styles.module.css @@ -8,7 +8,6 @@ padding-right: 5%; padding-bottom: 16px; padding-left: 5%; - background: var(--ifm-color-emphasis-100); } .header h1 { diff --git a/src/pages/guides/telegram-oauth.mdx b/src/pages/guides/telegram-oauth.mdx index 143037768..ab52ac1fa 100644 --- a/src/pages/guides/telegram-oauth.mdx +++ b/src/pages/guides/telegram-oauth.mdx @@ -41,8 +41,8 @@ A JWKS stands for JSON Web Key Set. It is a set of keys containing the public ke the authorization server and signed using the RS256 signing algorithm. If you don't know how to create a JWKS, you can follow this -[web3auth tutorial](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers#how-to-create-jwks). This file must be located on a public -endpoint. To test the example, you will need to modify the file located in the root directory of the project. +[web3auth tutorial](https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider#how-to-create-jwks). This file must be located on a public endpoint. +To test the example, you will need to modify the file located in the root directory of the project. Both the private and the public keys, that you used to create the JWKS, must be in the server directory. In our project, they are called `private.pem` and `public.pem`. @@ -181,5 +181,5 @@ const getPrivateKey = async (idToken: string, verifierId: string) => { References -- [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers) +- [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-provider) - [Telegram Login Widget](https://core.telegram.org/widgets/login) diff --git a/src/pages/guides/tkey-swift-mpc.mdx b/src/pages/guides/tkey-swift-mpc.mdx index 41751c6f8..0556f1b94 100644 --- a/src/pages/guides/tkey-swift-mpc.mdx +++ b/src/pages/guides/tkey-swift-mpc.mdx @@ -268,7 +268,7 @@ However, before starting this process, you must set up Custom Authentication on :::tip For further information on how to set up and use a verifier, please visit the -[**Custom Authentication Documentation**](/pnp/features/custom-authentication). +[**Custom Authentication Documentation**](/features/custom-authentication). ::: diff --git a/src/pages/guides/tkey.mdx b/src/pages/guides/tkey.mdx index bbd0f7e1f..7ab65da1b 100644 --- a/src/pages/guides/tkey.mdx +++ b/src/pages/guides/tkey.mdx @@ -283,8 +283,8 @@ blockchains that use this curve. In addition to that, we have dedicated provider packages for EVM and Solana Blockchain libraries. You can check out their respective documentation here: -- Getting a Ethereum Provider from tKey: [Ethereum Provider](/sdk/helper-sdks/providers/evm) -- Getting a Solana Provider from tKey: [Solana Provider](/sdk/helper-sdks/providers/solana) +- Getting a Ethereum Provider from tKey: [Ethereum Provider](/sdk/providers/evm) +- Getting a Solana Provider from tKey: [Solana Provider](/sdk/providers/solana) :::tip diff --git a/src/pages/guides/unity.mdx b/src/pages/guides/unity.mdx index 4fcc216c6..9855a95c5 100644 --- a/src/pages/guides/unity.mdx +++ b/src/pages/guides/unity.mdx @@ -85,7 +85,7 @@ You may encounter errors when importing this package into your existing project. To fix this problem you need to add the following line into dependencies object which is inside the `Packages/manifest.json` file. ```json title="/Packages/manifest.json" -"com.unity.nuget.newtonsoft-json": "3.0.2" +"com.unity.nuget.newtonsoft-json": "3.2.1" ``` ::: diff --git a/src/pages/ios-mpc.mdx b/src/pages/ios-mpc.mdx index d15e08414..cb19d3706 100644 --- a/src/pages/ios-mpc.mdx +++ b/src/pages/ios-mpc.mdx @@ -261,7 +261,7 @@ However, before starting this process, you must set up Custom Authentication on :::tip For further information on how to set up and use a verifier, please visit the -[**Custom Authentication Documentation**](/pnp/features/custom-authentication). +[**Custom Authentication Documentation**](/features/custom-authentication). ::: diff --git a/src/pages/quick-start/builder/pnp/unity/stepContent/installationUnity.mdx b/src/pages/quick-start/builder/pnp/unity/stepContent/installationUnity.mdx index 153c2071a..643eec60a 100644 --- a/src/pages/quick-start/builder/pnp/unity/stepContent/installationUnity.mdx +++ b/src/pages/quick-start/builder/pnp/unity/stepContent/installationUnity.mdx @@ -8,7 +8,7 @@ existing Unity3D project. Additionally, add the following dependency to your `manifest.json` file: ```json -"com.unity.nuget.newtonsoft-json": "3.0.2" +"com.unity.nuget.newtonsoft-json": "3.2.1" ``` :::tip SDK Reference diff --git a/src/pages/quick-start/styles.module.css b/src/pages/quick-start/styles.module.css index bb4100099..776cbe75c 100644 --- a/src/pages/quick-start/styles.module.css +++ b/src/pages/quick-start/styles.module.css @@ -149,6 +149,7 @@ padding: 1.25rem var(--ifm-navbar-padding-horizontal); border-left: 6px solid transparent; cursor: pointer; + background: var(--ifm-color-emphasis-100); } .stepContainer:hover { @@ -156,7 +157,9 @@ } .stepContainer.stepSelected { - background-color: var(--ifm-background-surface-color); + /* background-color: var(--ifm-background-surface-color); */ + background: var(--ifm-color-emphasis-200); + border-color: var(--ifm-color-primary); } diff --git a/src/theme/DocBreadcrumbs/Items/Home/index.js b/src/theme/DocBreadcrumbs/Items/Home/index.js new file mode 100644 index 000000000..86b4b288f --- /dev/null +++ b/src/theme/DocBreadcrumbs/Items/Home/index.js @@ -0,0 +1,24 @@ +import React from "react"; +import Link from "@docusaurus/Link"; +import useBaseUrl from "@docusaurus/useBaseUrl"; +import { translate } from "@docusaurus/Translate"; +import IconHome from "@theme/Icon/Home"; +import styles from "./styles.module.css"; +export default function HomeBreadcrumbItem() { + const homeHref = useBaseUrl("/"); + return ( +
    • + + + +
    • + ); +} diff --git a/src/theme/DocBreadcrumbs/Items/Home/styles.module.css b/src/theme/DocBreadcrumbs/Items/Home/styles.module.css new file mode 100644 index 000000000..a328f3235 --- /dev/null +++ b/src/theme/DocBreadcrumbs/Items/Home/styles.module.css @@ -0,0 +1,6 @@ +.breadcrumbHomeIcon { + position: relative; + vertical-align: top; + height: 1.1rem; + width: 1.1rem; +} diff --git a/src/theme/DocBreadcrumbs/index.js b/src/theme/DocBreadcrumbs/index.js new file mode 100644 index 000000000..bc0912606 --- /dev/null +++ b/src/theme/DocBreadcrumbs/index.js @@ -0,0 +1,69 @@ +import React from "react"; +import clsx from "clsx"; +import { ThemeClassNames } from "@docusaurus/theme-common"; +import { useSidebarBreadcrumbs, useHomePageRoute } from "@docusaurus/theme-common/internal"; +import { translate } from "@docusaurus/Translate"; +import HomeBreadcrumbItem from "@theme/DocBreadcrumbs/Items/Home"; +import styles from "./styles.module.css"; +// TODO move to design system folder +function BreadcrumbsItemLink({ children, href, isLast }) { + const className = "breadcrumbs__link"; + if (isLast) { + return ( + + {children} + + ); + } + return {children}; +} +// TODO move to design system folder +function BreadcrumbsItem({ children, active, index, addMicrodata }) { + return ( +
    • + {children} + +
    • + ); +} +export default function DocBreadcrumbs() { + const breadcrumbs = useSidebarBreadcrumbs(); + const homePageRoute = useHomePageRoute(); + if (!breadcrumbs) { + return null; + } + return ( + + ); +} diff --git a/src/theme/DocBreadcrumbs/styles.module.css b/src/theme/DocBreadcrumbs/styles.module.css new file mode 100644 index 000000000..72da4671a --- /dev/null +++ b/src/theme/DocBreadcrumbs/styles.module.css @@ -0,0 +1,4 @@ +.breadcrumbsContainer { + --ifm-breadcrumb-size-multiplier: 0.8; + margin-bottom: 0.8rem; +} diff --git a/src/theme/DocSidebar/Desktop/styles.module.css b/src/theme/DocSidebar/Desktop/styles.module.css index 96a7743fb..9e21c2e19 100644 --- a/src/theme/DocSidebar/Desktop/styles.module.css +++ b/src/theme/DocSidebar/Desktop/styles.module.css @@ -35,7 +35,6 @@ height: 2rem; } - .sidebar :global ::-webkit-scrollbar { background-color: var(--ifm-background-surface-color); width: 4px; @@ -43,8 +42,8 @@ } .sidebar :global ::-webkit-scrollbar { - -ms-overflow-style: none; /* IE and Edge */ - scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ } .sidebar ::-webkit-scrollbar-thumb { @@ -56,7 +55,3 @@ background: var(--w3a-banner-background); } } - -.sidebarLogo { - display: none; -} diff --git a/src/theme/DocSidebarItem/Category/index.js b/src/theme/DocSidebarItem/Category/index.js new file mode 100644 index 000000000..ce6dc1310 --- /dev/null +++ b/src/theme/DocSidebarItem/Category/index.js @@ -0,0 +1,164 @@ +import React, { useEffect, useMemo } from "react"; +import clsx from "clsx"; +import { ThemeClassNames, useThemeConfig, usePrevious, Collapsible, useCollapsible } from "@docusaurus/theme-common"; +import { isActiveSidebarItem, findFirstSidebarItemLink, useDocSidebarItemsExpandedState, isSamePath } from "@docusaurus/theme-common/internal"; +import Link from "@docusaurus/Link"; +import { translate } from "@docusaurus/Translate"; +import useIsBrowser from "@docusaurus/useIsBrowser"; +import DocSidebarItems from "@theme/DocSidebarItems"; +// If we navigate to a category and it becomes active, it should automatically +// expand itself +function useAutoExpandActiveCategory({ isActive, collapsed, updateCollapsed }) { + const wasActive = usePrevious(isActive); + useEffect(() => { + const justBecameActive = isActive && !wasActive; + if (justBecameActive && collapsed) { + updateCollapsed(false); + } + }, [isActive, wasActive, collapsed, updateCollapsed]); +} +/** + * When a collapsible category has no link, we still link it to its first child + * during SSR as a temporary fallback. This allows to be able to navigate inside + * the category even when JS fails to load, is delayed or simply disabled + * React hydration becomes an optional progressive enhancement + * see https://github.com/facebookincubator/infima/issues/36#issuecomment-772543188 + * see https://github.com/facebook/docusaurus/issues/3030 + */ +function useCategoryHrefWithSSRFallback(item) { + const isBrowser = useIsBrowser(); + return useMemo(() => { + if (item.href && !item.linkUnlisted) { + return item.href; + } + // In these cases, it's not necessary to render a fallback + // We skip the "findFirstCategoryLink" computation + if (isBrowser || !item.collapsible) { + return undefined; + } + return findFirstSidebarItemLink(item); + }, [item, isBrowser]); +} +function CollapseButton({ collapsed, categoryLabel, onClick }) { + return ( +