Atlis is a contactless authentication system designed to facilitate secure data transfer and user authentication via QR codes. The system is tailored for developers, offering an easy-to-integrate npm package that enables passwordless authentication through QR code scanning. Below is a detailed breakdown of the architecture, components, and flow, combining both developer and user experiences.
atlis.dev
.<Atlis />
component.yarn add atlis
or npm install --save atlis
.appName
, apiKeyID
, and the user data to be retrieved, such as name
and email
.Developers wrap their React application components with <Atlis />
and provide appName
, apiKeyID
, and the required user data (like name and email).
The package first connects (with action=connect
) to the WebSocket server (Berlin
), which creates a connection record in DynamoDB.
Upon connection, the package receives a response from the server and generates a QR code URL:
https://app.atlis.dev/welcome?requestID=${connectionID}&data=${resData}
resData
is JWT signed with the connectionID
.import React from 'react'
import Atlis from 'atlis'
const App = () => {
return(
<Atlis
request={{
data: ["email", "name"], // "name" is optional
appName: "your app name",
appID: "your app id" }}>
<Home />
</Atlis>
);
}
export default App;