Skip to content

Commit

Permalink
PnP & CoreKit features revamp
Browse files Browse the repository at this point in the history
+ modularity
  • Loading branch information
shahbaz17 committed Oct 25, 2023
1 parent c10d52b commit 5bd5ced
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 67 deletions.
8 changes: 8 additions & 0 deletions docs/core-kit/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ displayed_sidebar: docs
description: "Core Kit Web3Auth | Documentation - Web3Auth"
---

import CoreKitIntro from "@site/src/common/docs/_corekit-intro.mdx";
import TkeyIntroduction from "@site/src/common/docs/_tkey-intro.mdx";
import SDKReferenceCards from "@site/src/components/SDKReferenceCards";

<CoreKitIntro />

## tKey

<TkeyIntroduction />

<SDKReferenceCards />
14 changes: 7 additions & 7 deletions docs/pnp/features/custom-authentication.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,21 @@ create a [GitHub Discussion](https://web3auth.io/discussions) and we will take c

- **Which logins should my application support?**

- You can select from [this list](/auth-provider-setup/verifiers#supported-logins) or use your own custom authentication. There are some nuances
with certain login providers, so don't hesitate to get in touch with us.
- You can select from the above list 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.
- 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/verifiers#aggregating-loginsverifiers).
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 [email protected]
- 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).
- If you have any questions, please get in touch with us on [Discord](https://discord.gg/web3auth) or create a post on our
[Community Portal](https://web3auth.io/community).
- We'll be happy to help you out!

:::
39 changes: 4 additions & 35 deletions docs/pnp/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,9 @@ 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.
import PnpIntro from "@site/src/common/docs/_pnp-intro.mdx";
import SDKReferenceCards from "@site/src/components/SDKReferenceCards";

**There are two options for using Web3Auth on the web:**
<PnpIntro />

- **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.
<SDKReferenceCards />
28 changes: 6 additions & 22 deletions docs/product-fit/pnp-vs-core-kit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ displayed_sidebar: docs
description: "Plug and Play vs Core Kit | Documentation - Web3Auth"
---

import CoreKitIntro from "@site/src/common/docs/_corekit-intro.mdx";
import PnpIntro from "@site/src/common/docs/_pnp-intro.mdx";
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
Expand All @@ -16,40 +18,22 @@ This document helps you understand the differences between the products and help
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
If you're considering using the Core Kit Multi Factor 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 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
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).

:::

## 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.
<PnpIntro />

## 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.
<CoreKitIntro />

## Comparison Table

Expand Down
10 changes: 10 additions & 0 deletions src/common/docs/_corekit-intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
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.
10 changes: 10 additions & 0 deletions src/common/docs/_pnp-intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
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.
6 changes: 3 additions & 3 deletions src/common/docs/_tkey-intro.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import Image1 from "@site/static/images/tkey-flow.png";

'tKey' is an abbreviation for Threshold Key, which is responsible for the management of wallet shares produced using threshold cryptography. The tKey
`tKey` is an abbreviation for Threshold Key, which is responsible for the management of wallet shares produced using threshold cryptography. The tKey
SDK manages wallets by generating shares via Shamir's Secret Sharing scheme.

In a typical 2 out of 3 (2/3) setup, the user is provided with three shares: ShareA, ShareB, and ShareC.
In a typical 2 out of 3 (**2/3**) setup, the user is provided with three shares: **ShareA, ShareB, and ShareC**.

- **ShareA** is managed and divided across Web3Auth's Auth Network and can be accessed through an OAuth login provider owned by the user, like their
Google account.
Expand All @@ -14,4 +14,4 @@ In a typical 2 out of 3 (2/3) setup, the user is provided with three shares: Sha

<img style={{ display: "block", maxHeight: "600px", margin: "20px auto" }} src={Image1} alt="Web3Auth's Private Key - Key Reconstruction" />

Like existing 2FA systems, users must prove ownership of at least 2 out of 3 (2/3) shares to retrieve their private key.
Like existing 2FA systems, users must prove ownership of at least 2 out of 3 (**2/3**) shares to retrieve their private key.

0 comments on commit 5bd5ced

Please sign in to comment.