Skip to content

Commit

Permalink
Set up intro page in js.org (openwallet-foundation#63)
Browse files Browse the repository at this point in the history
Signed-off-by: Lukas <[email protected]>
Signed-off-by: Lukas.J.Han <[email protected]>
  • Loading branch information
lukasjhan authored Feb 15, 2024
1 parent e1ae323 commit d2fcdd4
Show file tree
Hide file tree
Showing 2 changed files with 159 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './docs'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
116 changes: 116 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>SD JWT - TypeScript JWT Library</title>
<link
href="https://unpkg.com/tailwindcss@^2.0/dist/tailwind.min.css"
rel="stylesheet"
/>
<style>
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.375rem;
background-color: #f3f4f6;
color: #374151;
}
</style>
</head>

<body class="bg-gray-100 text-gray-900">
<div class="container mx-auto px-6 py-8">
<h1 class="text-5xl font-bold mb-4">SD JWT</h1>
<div class="mb-4">
<img
src="https://upload.wikimedia.org/wikipedia/commons/4/4c/Typescript_logo_2020.svg"
alt="TypeScript Supported"
class="inline mr-2"
width="30"
/>
<span class="badge">Node.js</span>
<span class="badge">Web</span>
<span class="badge">React Native</span>
</div>
<h2 class="text-2xl font-bold mb-4">What is SD JWT?</h2>
<p class="mb-4">
"Selective Disclosure for JWT" offers a cutting-edge approach to
handling JSON Web Tokens (JWT) in a way that enhances user privacy and
data security. In today's digital landscape, the demand for efficient
yet secure data transmission is paramount. This project addresses that
need by enabling selective disclosure of JWT claims, ensuring that only
necessary information is shared.
</p>
<p class="mb-4">
This is the reference implmentation of
<a
href="https://github.com/openwallet-foundation-labs/sd-jwt-js"
class="text-blue-700 hover:underline"
target="_blank"
>IETF SD-JWT specification</a>
written in TypeScript. It aims to provide a production-ready, robust and
secure way to handle JWTs with selective disclosure capabilities. Easily
integrate JWT authentication into your Node.js, web, and React Native
projects.
</p>
<h2 class="text-2xl font-bold mb-4">Installation</h2>
<p class="mb-4">
Currently compliant with: <b>draft-ietf-oauth-selective-disclosure-jwt-07</b>
</p>
<p class="mb-4">
<div class="bg-gray-800 text-blue-200 font-mono text-sm p-4 rounded-lg overflow-x-auto my-6">
<pre>$ npm install @hopae/sd-jwt</pre>
</div>
</p>
<div class="flex justify-center items-center gap-4 pb-6">
<a
href="https://github.com/openwallet-foundation-labs/sd-jwt-js/wiki"
class="bg-black text-white font-bold py-2 px-6 rounded hover:bg-gray-700 transition-colors duration-150 ease-in-out"
target="_blank"
>Documentation</a
>
|
<a
href="https://github.com/openwallet-foundation-labs/sd-jwt-js/tree/main/examples"
class="text-blue-700 hover:underline"
target="_blank"
>Examples</a
>
|
<a
href="https://github.com/openwallet-foundation-labs/sd-jwt-js"
class="text-blue-700 hover:underline"
target="_blank"
>GitHub</a>
</div>
<h2 class="text-2xl font-bold mb-4">Architecture & Core Concept</h2>
<img
src="https://raw.githubusercontent.com/openwallet-foundation-labs/sd-jwt-js/main/images/diagram.png"
class="img-responsive img-centered width-100 height-100"
alt="SD JWT diagram"
/>
<p class="mb-4">
SD JWT is a TypeScript library that provides a simple, yet powerful API
for working with SD JWT. It is designed to be easy to use
and flexible, allowing you to issue, present, and verify SD JWT credentials with ease.
</p>
<div class="mt-8">
<h2 class="text-2xl font-bold mb-4">Key Features</h2>
<ul class="list-disc pl-5 space-y-2">
<li><strong>Framework Agnostic:</strong> Universally compatible with various JavaScript frameworks. Easily integrates with React, React Native, and others without significant code alterations.</li>
<li><strong>Data Minimization and Efficiency:</strong> Minimizes JWT payload size for efficient QR code generation, ensuring scannability.</li>
<li><strong>Modular Design:</strong> Features a modular architecture for easy integration of selective disclosure capabilities, updates, and maintenance.</li>
<li><strong>Security-First:</strong> Adheres to security best practices, ensuring data integrity and secure token handling.</li>
<li><strong>Scalability and Performance:</strong> Efficient and performant under various loads, suitable for small to large-scale applications.</li>
</ul>
</div>
</div>
</body>
</html>

0 comments on commit d2fcdd4

Please sign in to comment.