mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 00:01:10 +02:00
Implements passwordless authentication via passkeys using @simplewebauthn: Backend (mana-core-auth): - New passkeys table in auth schema (credentialId, publicKey, counter, etc.) - PasskeyService with registration/authentication flows and challenge storage - 7 new API endpoints (register, authenticate, list, delete, rename) - createSessionAndTokens helper for non-password auth flows - Security event types for passkey operations Client (shared-auth): - signInWithPasskey() and registerPasskey() with dynamic @simplewebauthn/browser imports - isPasskeyAvailable() browser capability check - Passkey management methods (list, delete, rename) UI (shared-auth-ui): - Passkey button on LoginPage with key icon, shown when browser supports WebAuthn - Divider between passkey and email/password form App integration: - All 19 web app auth stores have isPasskeyAvailable() and signInWithPasskey() - All 19 web app login pages pass passkeyAvailable and onSignInWithPasskey props - rpID=mana.how in production enables cross-app passkey usage (SSO-compatible) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
752 B
JSON
41 lines
752 B
JSON
{
|
|
"name": "@manacore/shared-auth",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "Shared authentication utilities for Manacore apps",
|
|
"main": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"type": "module",
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"clean": "rm -rf dist",
|
|
"type-check": "tsc --noEmit",
|
|
"lint": "eslint ."
|
|
},
|
|
"dependencies": {
|
|
"@manacore/shared-types": "workspace:*",
|
|
"@simplewebauthn/browser": "^13.3.0",
|
|
"base64-js": "^1.5.1"
|
|
},
|
|
"devDependencies": {
|
|
"typescript": "^5.9.3"
|
|
},
|
|
"peerDependencies": {
|
|
"react-native": ">=0.70.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"react-native": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"keywords": [
|
|
"manacore",
|
|
"auth",
|
|
"jwt",
|
|
"token"
|
|
],
|
|
"license": "MIT"
|
|
}
|