Sign inSign up

cyrius44/verifid

By cyrius44

•Updated 6 months ago

VerifID is a contact verification portal based on Microsoft Entra Verified ID

Image
Security
0

2.8K

cyrius44/verifid repository overview

⁠🛡️ VerifID

VerifID is a contact verification portal based on Microsoft Entra Verified ID.

image

It allows HR teams to provide verifiable credentials to employees. It also provides support teams with a way to verify their identity without a password, using a QR code and Microsoft Authenticator.

The goal is to limit identity theft and fraud.

Microsoft Verified ID provides:

  • Digital fingerprint generation via the "My account" page
  • Digital fingerprint creation and verification APIs

This development offers a user-friendly interface focused on verifying the identity of the person you are interacting with.

Verified ID⁠ For more information, you can visit the Microsoft website.

The development carried out is based on the examples provided by Microsoft in the Azure-Samples repository⁠


⁠Features

  • 🪪 Credential Issuance — HR issues a VerifiedEmployee verifiable credential directly into the employee's Microsoft Authenticator wallet
  • 🔍 Identity Verification — Helpdesk agents generate a QR code; the employee scans it to prove their identity in seconds
  • 📟 Assistance Code — A short 4-digit code shared verbally with the helpdesk to look up a verification result without needing a session ID
  • 🔐 Azure Entra ID authentication — Optional JWT-based access control with role and scope enforcement (helpdesk, hr)
  • 📱 Mobile-first UI — Responsive Angular 21 frontend, installable as a PWA
  • 🐳 Single-container deployment — Frontend and backend bundled in one Docker image
  • 🔒 Security headers — CSP, HSTS, X-Frame-Options, Permissions-Policy applied on every response

⁠Quick Start

⁠Docker CLI
docker run -d \
  --name verifid \
  -p 8000:8000 \
  -e AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e AZURE_CLIENT_SECRET=your-client-secret \
  -e VERIFIED_ID_DID=did:web:yourdomain.com \
  -e VERIFIED_ID_CONTRACT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e APP_BASE_URL=https://yourdomain.com \
  -e API_KEY=your-api-key \
  -e AUTH_CLIENT_ID=xxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx \
  ghcr.io/cyr-ius/verifid:latest

Open http://localhost:8000⁠ to access the portal.

⁠Docker Compose
services:
  verifid:
    image: ghcr.io/cyr-ius/verifid:latest
    container_name: verifid
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - AZURE_TENANT_ID=${AZURE_TENANT_ID}
      - AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
      - AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
      - VERIFIED_ID_DID=${VERIFIED_ID_DID}
      - VERIFIED_ID_CONTRACT_ID=${VERIFIED_ID_CONTRACT_ID}
      - APP_BASE_URL=${APP_BASE_URL}
      - API_KEY=${API_KEY}
      - AUTH_CLIENT_ID=${AUTH_CLIENT_ID}

⁠More informations

Repository : Git⁠ Readme⁠

Tag summary

Content type

Image

Digest

sha256:3bad6ed79…

Size

81.4 MB

Last updated

6 months ago

docker pull cyrius44/verifid