/** * Home Component * Landing page for unauthenticated users */ import React from 'react'; import { Link } from 'react-router-dom'; import { useAuth } from '../contexts/AuthContext'; import { Navigate } from 'react-router-dom'; export const Home: React.FC = () => { const { isAuthenticated } = useAuth(); // If already authenticated, redirect to dashboard if (isAuthenticated) { return ; } return (

ATProtocol OAuth Demo

Experience secure, decentralized authentication with ATProtocol OAuth 2.1

Features of this Demo

OAuth 2.1 with PKCE

Proof Key for Code Exchange (PKCE) with S256 challenge method for secure authorization

DPoP Token Binding

Demonstrating Proof of Possession with ES256 cryptographic binding

Pushed Authorization Requests

PAR for enhanced security by pre-registering authorization requests

XRPC API Integration

Create posts directly in your Personal Data Server using authenticated XRPC calls

Automatic Token Refresh

Seamless token rotation with automatic refresh before expiry

Get Started with Bluesky Authentication

This is a demonstration of ATProtocol OAuth 2.1 implementation.

Your data remains in your Personal Data Server at all times.

); };