UNPKG

@passageidentity/passage-react

Version:

Passkey Complete for React - Go completely passwordless with a standalone auth solution in your React apps with Passage by 1Password.

118 lines (80 loc) • 4.89 kB
![passage-react](https://storage.googleapis.com/passage-docs/github-md-assets/passage-react.png) ![NPM Version](https://img.shields.io/npm/v/%40passageidentity%2Fpassage-react) ![NPM Type Definitions](https://img.shields.io/npm/types/%40passageidentity%2Fpassage-react) ![NPM License](https://img.shields.io/npm/l/%40passageidentity%2Fpassage-react) ![React](https://img.shields.io/badge/React-%2320232a.svg?logo=react&logoColor=%2361DAFB) ![Static Badge](https://img.shields.io/badge/Built_by_1Password-grey?logo=1password) ## About [Passage by 1Password](https://1password.com/product/passage) unlocks the passwordless future with a simpler, more secure passkey authentication experience. Passage handles the complexities of the [WebAuthn API](https://blog.1password.com/what-is-webauthn/), and allows you to implement passkeys with ease. Use [Passkey Flex](https://docs.passage.id/flex) to add passkeys to an existing authentication experience. Use [Passkey Complete](https://docs.passage.id/complete) as a standalone passwordless auth solution. Use [Passkey Ready](https://docs.passage.id/passkey-ready) to determine if your users are ready for passkeys. ### In passage-react Passage-React the easiest way to use Passage Passkey Complete in your React application. Passage-React provides native React integration with the Passage Elements - modular components that provides complete UI/UX for modern authentication, embedded directly into your website. #### What's Included? šŸ™† User login, registration, and profile cross-platform elements. šŸŽØ Complete UI/UX for all device types and auth flows – in other words, it just works. šŸ”’ Full passkey authentication. ✨ Magic Link and One-Time Passcodes over email or SMS. šŸ‘„ Authentication with Social providers. | Product | Compatible | | --- | --- | | ![Passkey Flex](https://storage.googleapis.com/passage-docs/github-md-assets/passage-passkey-flex-icon.png) Passkey **Flex** | āœ–ļø For Passkey Flex, check out [passage-flex-js](https://www.npmjs.com/package/@passageidentity/passage-flex-js) | ![Passkey Complete](https://storage.googleapis.com/passage-docs/github-md-assets/passage-passkey-complete-icon.png) Passkey **Complete** | āœ… | ![Passkey Ready](https://storage.googleapis.com/passage-docs/github-md-assets/passage-passkey-ready-icon.png) Passkey **Ready** | āœ–ļø For Passkey Ready, check out [Authentikit](https://www.npmjs.com/package/@passageidentity/authentikit) <br /> ## Getting Started ### Check Prerequisites <p> You'll need a free Passage account and a Passkey Complete app set up in <a href="https://console.passage.id/">Passage Console</a> to get started. <br /> <sub><a href="https://docs.passage.id/home#passage-console">Learn more about Passage Console →</a></sub> </p> ### Install ```shell copy npm i @passageidentity/passage-react ``` ### Import ```js copy // Configure passage-react by wrapping your application with a PassageProvider and adding a Passage Auth Element within your app // index.tsx import { PassageProvider } from '@passageidentity/passage-react'; // login.tsx import { PassageAuth } from '@passageidentity/passage-react'; ``` ### Initialize ```js copy // PassageProvider requires an App ID // index.tsx ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( <React.StrictMode> <PassageProvider appId='YOUR_PASSAGE_APP_ID'> <App /> </PassageProvider> </React.StrictMode>, ); // login.tsx export const LoginPage: React.FC = () => { return ( <> <PassageAuth /> </> ); }; ``` ### Go Passwordless Find all core functions, user management details, and more implementation guidance on our [Passkey Complete React Documentation](https://docs.passage.id/complete/passage-react) page. ## Support & Feedback We are here to help! Find additional docs, the best ways to get in touch with our team, and more within our [support resources](https://github.com/passageidentity/.github/blob/main/SUPPORT.md). <br /> --- <p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://storage.googleapis.com/passage-docs/github-md-assets/passage-by-1password-dark.png"> <source media="(prefers-color-scheme: light)" srcset="https://storage.googleapis.com/passage-docs/github-md-assets/passage-by-1password-light.png"> <img alt="Passage by 1Password Logo" src="https://storage.googleapis.com/passage-docs/github-md-assets/passage-by-1password-light.png"> </picture> </p> <p align="center"> <sub>Passage is a product by <a href="https://1password.com/product/passage">1Password</a>, the global leader in access management solutions with nearly 150k business customers.</sub><br /> <sub>This project is licensed under the MIT license. See the <a href="LICENSE">LICENSE</a> file for more info.</sub> </p>