{"id":20747728,"url":"https://github.com/web3auth/web3auth-react-native-sdk","last_synced_at":"2025-04-05T04:13:48.701Z","repository":{"id":39750663,"uuid":"399729690","full_name":"Web3Auth/web3auth-react-native-sdk","owner":"Web3Auth","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T08:27:46.000Z","size":10908,"stargazers_count":40,"open_issues_count":14,"forks_count":20,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-29T09:48:58.648Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Web3Auth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-25T07:30:22.000Z","updated_at":"2024-10-29T06:14:12.000Z","dependencies_parsed_at":"2023-11-09T12:05:10.833Z","dependency_job_id":"1133f7f7-b541-4872-bcf6-ceca72e912d2","html_url":"https://github.com/Web3Auth/web3auth-react-native-sdk","commit_stats":null,"previous_names":["torusresearch/openlogin-react-native-sdk"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-react-native-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-react-native-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-react-native-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-react-native-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Web3Auth","download_url":"https://codeload.github.com/Web3Auth/web3auth-react-native-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284951,"owners_count":20913704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T08:14:13.297Z","updated_at":"2025-04-05T04:13:48.678Z","avatar_url":"https://github.com/Web3Auth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web3Auth React Native SDK\n\nWeb3Auth is where passwordless auth meets non-custodial key infrastructure for Web3 apps and wallets. By aggregating OAuth (Google, Twitter, Discord) logins, different wallets and innovative Multi Party Computation (MPC) - Web3Auth provides a seamless login experience to every user on your application.\n\n## 📖 Documentation\n\nCheckout the official [Web3Auth Documentation](https://web3auth.io/docs) and [SDK Reference](https://web3auth.io/docs/sdk/pnp/react-native) to get started!\n\n## 💡 Features\n- Plug and Play, OAuth based Web3 Authentication Service\n- Fully decentralized, non-custodial key infrastructure\n- End to end Whitelabelable solution\n- Threshold Cryptography based Key Reconstruction\n- Multi Factor Authentication Setup \u0026 Recovery (Includes password, backup phrase, device factor editing/deletion etc)\n- Support for WebAuthn \u0026 Passwordless Login\n- Support for connecting to multiple wallets\n- DApp Active Session Management\n\n...and a lot more\n\n## ⏪ Requirements\n\n- For iOS, only iOS 12+ supported since we requires ASWebAuthenticationSession.\n\n- For Android, Custom Tab support is required.\n\n## Selecting your Workflow\n\nIn React Native, you have the choice to use one of the following workflows:\n\n- **Bare Workflow**: Your React Native app is entirely built on your own machine. You can customize your app with Swift/Kotlin native modules.\n- **Expo Managed Workflow**: Your React Native Expo app is built on your Expo's cloud, so you don't have control over the native modules used in the app.\n\n## ⚡ Installation\n\n```sh\nnpm install @web3auth/react-native-sdk\n```\n\n## 🌟 Configuration\n\n### Configure your Web3Auth project\n\nHop on to the [Web3Auth Dashboard](https://dashboard.web3auth.io/) and create a new project. Use the Client ID of the project to start your integration.\n\n![Web3Auth Dashboard](https://web3auth.io/docs/assets/images/project_plug_n_play-89c39ec42ad993107bb2485b1ce64b89.png)\n\n- Add `{YOUR_APP_PACKAGE_NAME}://auth` to **Whitelist URLs**.\n\n- Copy the Project ID for usage later.\n\n### Expo Managed Workflow\n\nWhen using our SDK with a Expo-based React Native app (aka managed workflow, you have to install the `expo-web-browser` package as a `WebBrowser` implementation.)\n\n```sh\nexpo install expo-web-browser\n```\n\nTo allow the SDK to work with exported Expo Android apps, you need to place a designated scheme into `app.json`, like below:\n\n```js\n{\n  \"expo\": {\n    \"scheme\": \"web3authexposample\"\n  }\n}\n```\n\n### Bare workflow Configuration\n\nWhen using our SDK with a bare workflow React Native app, you have to install a `WebBrowser` implementation made by us.\n\n```sh\nnpm install --save @toruslabs/react-native-web-browser\n```\n\n#### Android\n\n- The `scheme` parameter in the `redirectUrl` is specificable, and has to be added into the `AndroidManifest.xml`.\n\n```xml\n\u003cdata android:scheme=\"web3authrnexample\" /\u003e\n```\n\n#### iOS\n\n- The `scheme` parameter in the `redirectUrl` is specificable here as well, however, it does not need to be added as a iOS Custom URL Scheme. You may add the `scheme` to your iOS `Info.plist`, but it is not required.\n\n#### Register the URL scheme you intended to use for redirection\n\n- In the Web3Auth Developer Dashboard, add the URL scheme you intended to use for redirection to the **Whitelist URLs** section.\n\nFor example, the scheme mentioned is `web3authrnexample` and the `redirectUrl` mentioned is `${scheme}://openlogin`, we will whitelist:\n\n```\nweb3authrnexample://openlogin\n```\n\n## 💥 Initialization \u0026 Usage\n\nIn your sign-in activity', create an `Web3Auth` instance with your Web3Auth project's configurations and \nconfigure it like this:\n\n### Expo Managed Workflow\n\n```js\nimport * as WebBrowser from 'expo-web-browser';\nimport Web3Auth, { LOGIN_PROVIDER, OPENLOGIN_NETWORK } from \"@web3auth/react-native-sdk\";\n\nconst web3auth = new Web3Auth(WebBrowser, {\n    clientId,\n    network: OPENLOGIN_NETWORK.TESTNET, // or other networks\n});\nconst info = await web3auth.login({\n    loginProvider: LOGIN_PROVIDER.GOOGLE,\n    redirectUrl: resolvedRedirectUrl,\n    mfaLevel: 'mandatory', // optional\n    curve: 'secp256k1', // optional\n});\n```\n\n### Bare Workflow\n\n```js\nimport * as WebBrowser from '@toruslabs/react-native-web-browser';\nimport Web3Auth, { LOGIN_PROVIDER, OPENLOGIN_NETWORK } from \"@web3auth/react-native-sdk\";\n\nconst web3auth = new Web3Auth(WebBrowser, {\n    clientId,\n    network: OPENLOGIN_NETWORK.TESTNET, // or other networks\n});\nconst info = await web3auth.login({\n    loginProvider: LOGIN_PROVIDER.GOOGLE,\n    redirectUrl: resolvedRedirectUrl,\n    mfaLevel: 'mandatory', // optional\n    curve: 'secp256k1', // optional\n});\n```\n\n## 🩹 Examples\n\nCheckout the examples for your preferred blockchain and platform in our [examples](https://web3auth.io/docs/examples)\n\n## 🌐 Demo\n\nCheckout the [Web3Auth Demo](https://demo-app.web3auth.io/) to see how Web3Auth can be used in an application.\n\nFurther checkout the [example folder](https://github.com/Web3Auth/web3auth-react-native-sdk/tree/master/example) within this repository, which contains a sample app.\n\n## 💬 Troubleshooting and Support\n\n- Have a look at our [Community Portal](https://community.web3auth.io/) to see if anyone has any questions or issues you might be having. Feel free to reate new topics and we'll help you out as soon as possible.\n- Checkout our [Troubleshooting Documentation Page](https://web3auth.io/docs/troubleshooting) to know the common issues and solutions.\n- For Priority Support, please have a look at our [Pricing Page](https://web3auth.io/pricing.html) for the plan that suits your needs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3auth%2Fweb3auth-react-native-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb3auth%2Fweb3auth-react-native-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3auth%2Fweb3auth-react-native-sdk/lists"}