-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
474 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,18 +11,16 @@ | |
<a title="CodeCov" href="https://codecov.io/gh/arcana-network/auth"> | ||
<img src="https://codecov.io/gh/arcana-network/auth/branch/dev/graph/badge.svg?token=KmdjEs3enL"/></a> | ||
</p><p id="start" align="center"> | ||
<a href="https://docs.beta.arcana.network/"><img src="https://raw.githubusercontent.com/arcana-network/branding/main/an_banner_docs.png" alt="Arcana Auth SDK"/></a> | ||
<a href="https://docs.beta.arcana.network/"><img src="https://raw.githubusercontent.com/arcana-network/branding/main/an_auth_sdk_banner_feb_24.png" alt="Arcana Auth SDK"/></a> | ||
</p> | ||
|
||
# Arcana Auth | ||
# Auth | ||
|
||
Use Arcana Auth SDK to onboard Web3 app users via social login and allow authenticated users to instantly access the built-in, embedded Arcana wallet and sign blockchain transactions from within the app context. | ||
Web3 apps can integrate with the [Arcana Network](https://arcana.network) Auth SDK to enable social login and embedded, in-app Arcana wallet. Users don't need to install a wallet. Developers can leverage the built-in gasless feature to sponsor gas fees for white-listed blockchain transactions. | ||
|
||
Use the built-in gasless feature in the Auth SDK to enable gasless transactions in the Arcana wallet. | ||
Auth SDK exposes the standard [Ethereum provider](https://eips.ethereum.org/EIPS/eip-1193) interface for Web3 operations. | ||
|
||
Auth SDK enables the standard [Ethereum provider](https://eips.ethereum.org/EIPS/eip-1193) that can be used by the application for Web3 operations. Users are not required to install any wallet extension or manage keys or share them explicitly for enabling any blockchain transaction. | ||
|
||
## Auth Providers | ||
## Supported Auth Providers | ||
|
||
- Social Login | ||
|
||
|
@@ -40,25 +38,37 @@ Auth SDK enables the standard [Ethereum provider](https://eips.ethereum.org/EIPS | |
|
||
- Passwordless authentication | ||
|
||
Auth SDK usage is easily customizable. Developers can choose to use the built-in plug and play login UI to onboard users or use a custom UI. Also, instead of the built-in Arcana wallet UI, developers can integrate with the SDK and use a custom wallet UI. | ||
## Supported Blockchain Networks | ||
|
||
The Arcana wallet is [pre-configured with a subset of supported chains](https://docs.arcana.network/state-of-the-arcana-auth#supported-blockchains). Other supported chains can be added by app developers programmatically or via the dashboard. App users can add supported chains through the wallet UI. | ||
|
||
- EVM-chains: All. | ||
- Non-EVM chains: Solana, MultiversX | ||
|
||
## Customization | ||
|
||
- **Login UI**: Use default, built-in plug-and-play UI or use a custom one | ||
- **Wallet UI**: Select default, built-in wallet UI or configure custom wallet UI | ||
- **Branding**: Configure the theme and logo displayed in the wallet | ||
- **Social Providers**: Enable one or more social login providers in addition to the default passwordless login | ||
- **Wallet UX**: Configure Keyspace - global or app-specific (default) | ||
- **Gasless Transactions**: Add gas tanks, deposit funds to sponsor gas fees | ||
|
||
# 💪 Key Features | ||
## Prerequisites | ||
|
||
<p>🔒 Onboard users via social, passwordless login</p> | ||
<p>🗝️ Allow authenticated users to sign blockchain transactions</p> | ||
<p>🔒 Non-custodial, embedded Web3 Arcana wallet that can be branded and configured </p> | ||
<p>⛓️ Web3 wallet operations: sign blockchain transactions, deploy and interact with smart contracts, manage native and custom tokens, view and manage NFTs, send and receive tokens</p> | ||
<p>⚙️ Gaslesss transactions</p> | ||
1. Use the [Arcana Dashboard](https://dashboard.arcana.network) to register the app and obtain a unique app identifier (client ID). | ||
2. Configure SDK usage, enable social providers, set up gasless (optional), select wallet UX | ||
3. Install the SDK and use the Client ID to integrate the app. [Learn more...](https://docs.arcana.network/quick-start/auth-sdk/index.html) | ||
|
||
# 🏗️ Installation | ||
## Installation | ||
|
||
## npm | ||
### npm | ||
|
||
```sh | ||
npm install --save @arcana/auth | ||
``` | ||
|
||
## yarn | ||
### yarn | ||
|
||
```sh | ||
yarn add @arcana/auth | ||
|
@@ -74,24 +84,14 @@ yarn add @arcana/auth | |
<script src="https://unpkg.com/@arcana/auth"></script> | ||
``` | ||
|
||
# 📋 Prerequisites | ||
|
||
Configure Auth SDK usage through the [Arcana Dashboard](https://dashboard.arcana.network), obtain a unique app identifier (client Id). Then install the SDK, use the client Id to integrate the app with the Arcana Auth SDK. [Learn more...](https://docs.arcana.network/). | ||
|
||
# 📚 Documentation | ||
|
||
Check out [Arcana Network documentation](https://docs.arcana.network/) for [Auth SDK Quick Start Guide](https://docs.arcana.network/quick-start/auth-sdk/index.html), [Usage Guide](https://docs.arcana.network/web-sdk/auth-usage-guide.html) and [API Reference Guide](https://authsdk-ref-guide.netlify.app). | ||
|
||
# 💡 Support | ||
|
||
For support or integration-related queries, contact [Arcana support team](mailto:[email protected]). | ||
## Documentation | ||
|
||
# 🤝 Contributing | ||
See [Arcana Network documentation](https://docs.arcana.network/), [Auth SDK Quick Start Guide](https://docs.arcana.network/quick-start/auth-sdk/index.html), [Usage Guide](https://docs.arcana.network/web-sdk/auth-usage-guide.html), [API Reference Guide](https://authsdk-ref-guide.netlify.app) and [integration examples](https://docs.arcana.network/tutorials/). | ||
|
||
We welcome all contributions to the Arcana Auth SDK from the community. See [contributing guide](https://github.com/arcana-network/license/blob/main/CONTRIBUTING.md) for details. | ||
## Support | ||
|
||
# ℹ️ License | ||
Contact [Arcana Support](https://docs.arcana.network/support). | ||
|
||
Arcana Auth SDK is distributed under the [MIT License](https://fossa.com/blog/open-source-licenses-101-mit-license/). | ||
## License | ||
|
||
For details see [Arcana License](https://github.com/arcana-network/license/blob/main/LICENSE.md). | ||
Arcana Auth SDK is distributed under the [MIT License](https://fossa.com/blog/open-source-licenses-101-mit-license/). For details, see [Arcana License](https://github.com/arcana-network/license/blob/main/LICENSE.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
{ | ||
"name": "@arcana/auth", | ||
<<<<<<< HEAD | ||
"version": "1.0.11-beta.6", | ||
======= | ||
"version": "1.0.11", | ||
>>>>>>> release/1.0.11 | ||
"description": "Arcana Auth", | ||
"main": "dist/index.js", | ||
"type": "module", | ||
"module": "dist/index.js", | ||
"jsdelivr": "dist/standalone/auth.umd.js", | ||
"unpkg": "dist/standalone/auth.umd.js", | ||
"exports": { | ||
".": { | ||
"types": "./dist/types/index.d.ts", | ||
"require": "./dist/index.js", | ||
"import": "./dist/index.js" | ||
} | ||
}, | ||
"types": "dist/types/index.d.ts", | ||
"files": [ | ||
"dist", | ||
"types" | ||
], | ||
"scripts": { | ||
"test": "jest", | ||
"docs": "typedoc --options typedoc.json", | ||
"htmldocs": "typedoc --options typedochtml.json", | ||
"clean": "run-p clean:dist clean:types", | ||
"clean:dist": "rimraf dist/", | ||
"clean:types": "rimraf types/", | ||
"build": "run-s clean build:sdk ", | ||
"build:sdk": "run-p build:esm build:umd build:ts", | ||
"build:esm": "rollup --config rollup.es.config.js", | ||
"build:umd": "rollup --config rollup.umd.config.js", | ||
"build:ts": "tsc --project tsconfig.json --emitDeclarationOnly", | ||
"format": "prettier --ignore-path .gitignore --write .", | ||
"lint": "eslint --ext .ts src", | ||
"prepare": "husky install", | ||
"prepublishOnly": "npm run build" | ||
}, | ||
"author": "makyl", | ||
"license": "MIT", | ||
"keywords": [ | ||
"oauth", | ||
"social", | ||
"authentication", | ||
"passwordless", | ||
"sign up", | ||
"login", | ||
"web3", | ||
"encrypt", | ||
"wallet" | ||
], | ||
"devDependencies": { | ||
"@babel/core": "^7.18.6", | ||
"@babel/plugin-transform-react-jsx": "^7.19.0", | ||
"@babel/preset-env": "^7.18.9", | ||
"@babel/preset-typescript": "^7.18.6", | ||
"@rollup/plugin-alias": "^3.1.9", | ||
"@rollup/plugin-commonjs": "^22.0.1", | ||
"@rollup/plugin-inject": "^4.0.4", | ||
"@rollup/plugin-json": "^4.1.0", | ||
"@rollup/plugin-node-resolve": "^13.3.0", | ||
"@rollup/plugin-typescript": "^11.1.5", | ||
"@types/jest": "^27.4.1", | ||
"@types/validator": "^13.11.1", | ||
"@typescript-eslint/eslint-plugin": "^5.18.0", | ||
"@typescript-eslint/parser": "^5.18.0", | ||
"babel-jest": "^29.0.2", | ||
"eslint": "^8.12.0", | ||
"eslint-config-prettier": "^8.5.0", | ||
"eslint-plugin-tsdoc": "^0.2.16", | ||
"events": "^3.3.0", | ||
"husky": ">=6", | ||
"jest": "^29.0.0", | ||
"jest-environment-jsdom": "^29.2.0", | ||
"lint-staged": ">=10", | ||
"node-stdlib-browser": "^1.2.0", | ||
"npm-run-all": "^4.1.5", | ||
"postcss": "^8.4.18", | ||
"preact": "^10.11.1", | ||
"prettier": "^2.6.2", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^2.75.7", | ||
"rollup-plugin-postcss": "^4.0.2", | ||
"@rollup/plugin-terser": "^0.4.4", | ||
"ts-jest": "^29.0.3", | ||
"typedoc": "^0.26.3", | ||
"typedoc-plugin-extras": "^3.0.0", | ||
"typedoc-plugin-markdown": "^3.12.1", | ||
"typedoc-plugin-missing-exports": "^3.0.0", | ||
"typedoc-plugin-rename-defaults": "^0.7.1", | ||
"typedoc-theme-hierarchy": "^5.0.0", | ||
"typescript": "^4.5.2" | ||
}, | ||
"dependencies": { | ||
"@metamask/safe-event-emitter": "^2.0.0", | ||
"@solana/web3.js": "^1.87.3", | ||
"bs58": "^5.0.0", | ||
"eth-rpc-errors": "^4.0.3", | ||
"penpal": "^6.0.1", | ||
"validator": "^13.11.0" | ||
}, | ||
"resolutions": { | ||
"terser": "^5.15.0" | ||
}, | ||
"lint-staged": { | ||
"*.ts": "eslint --cache --fix", | ||
"*.{js,css,md,ts}": "prettier --write" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
{ | ||
"name": "@arcana/auth", | ||
"version": "1.0.10", | ||
"description": "Arcana Auth", | ||
"main": "dist/index.js", | ||
"type": "module", | ||
"module": "dist/index.js", | ||
"jsdelivr": "dist/standalone/auth.umd.js", | ||
"unpkg": "dist/standalone/auth.umd.js", | ||
"exports": { | ||
".": { | ||
"types": "./types/index.d.ts", | ||
"require": "./dist/index.js", | ||
"import": "./dist/index.js" | ||
} | ||
}, | ||
"types": "dist/types/index.d.ts", | ||
"files": [ | ||
"dist", | ||
"types" | ||
], | ||
"scripts": { | ||
"test": "jest", | ||
"docs": "typedoc --options typedoc.json", | ||
"htmldocs": "typedoc --options typedochtml.json", | ||
"clean": "run-p clean:dist clean:types", | ||
"clean:dist": "rimraf dist/", | ||
"clean:types": "rimraf types/", | ||
"build": "run-s clean build:sdk ", | ||
"build:sdk": "run-p build:esm build:umd build:ts", | ||
"build:esm": "rollup --config rollup.es.config.js", | ||
"build:umd": "rollup --config rollup.umd.config.js", | ||
"build:ts": "tsc --project tsconfig.json --emitDeclarationOnly", | ||
"format": "prettier --ignore-path .gitignore --write .", | ||
"lint": "eslint --ext .ts src", | ||
"prepare": "husky install", | ||
"prepublishOnly": "yarn run build" | ||
}, | ||
"author": "makyl", | ||
"license": "MIT", | ||
"keywords": [ | ||
"oauth", | ||
"social", | ||
"authentication", | ||
"passwordless", | ||
"sign up", | ||
"login", | ||
"web3", | ||
"encrypt", | ||
"wallet" | ||
], | ||
"devDependencies": { | ||
"@babel/core": "^7.18.6", | ||
"@babel/plugin-transform-react-jsx": "^7.19.0", | ||
"@babel/preset-env": "^7.18.9", | ||
"@babel/preset-typescript": "^7.18.6", | ||
"@rollup/plugin-alias": "^3.1.9", | ||
"@rollup/plugin-commonjs": "^22.0.1", | ||
"@rollup/plugin-inject": "^4.0.4", | ||
"@rollup/plugin-json": "^4.1.0", | ||
"@rollup/plugin-node-resolve": "^13.3.0", | ||
"@rollup/plugin-typescript": "^11.1.5", | ||
"@types/jest": "^27.4.1", | ||
"@types/validator": "^13.11.1", | ||
"@typescript-eslint/eslint-plugin": "^5.18.0", | ||
"@typescript-eslint/parser": "^5.18.0", | ||
"babel-jest": "^29.0.2", | ||
"eslint": "^8.12.0", | ||
"eslint-config-prettier": "^8.5.0", | ||
"eslint-plugin-tsdoc": "^0.2.16", | ||
"events": "^3.3.0", | ||
"husky": ">=6", | ||
"jest": "^29.0.0", | ||
"jest-environment-jsdom": "^29.2.0", | ||
"lint-staged": ">=10", | ||
"node-stdlib-browser": "^1.2.0", | ||
"npm-run-all": "^4.1.5", | ||
"postcss": "^8.4.18", | ||
"preact": "^10.11.1", | ||
"prettier": "^2.6.2", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^2.75.7", | ||
"rollup-plugin-postcss": "^4.0.2", | ||
"rollup-plugin-terser": "^7.0.2", | ||
"ts-jest": "^29.0.3", | ||
"typedoc": "^0.25.7", | ||
"typedoc-plugin-extras": "^3.0.0", | ||
"typedoc-plugin-markdown": "^3.12.1", | ||
"typedoc-plugin-missing-exports": "^2.1.0", | ||
"typedoc-plugin-rename-defaults": "^0.7.0", | ||
"typedoc-theme-hierarchy": "^4.1.2", | ||
"typescript": "^4.5.2" | ||
}, | ||
"dependencies": { | ||
"@metamask/safe-event-emitter": "^2.0.0", | ||
"@solana/web3.js": "^1.87.3", | ||
"bs58": "^5.0.0", | ||
"eth-rpc-errors": "^4.0.3", | ||
"penpal": "^6.0.1", | ||
"validator": "^13.11.0" | ||
}, | ||
"resolutions": { | ||
"terser": "^5.15.0" | ||
}, | ||
"lint-staged": { | ||
"*.ts": "eslint --cache --fix", | ||
"*.{js,css,md,ts}": "prettier --write" | ||
} | ||
} |
Oops, something went wrong.