Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/generate-markdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Generate Markdown Documentation

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- 'pages/docs/**'
- 'scripts/generate-markdown.js'
- '.github/workflows/generate-markdown.yml'

jobs:
generate-markdown:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build site
run: npm run build

- name: Generate markdown from HTML
run: node scripts/generate-markdown.js

- name: Check for changes
id: verify-changed-files
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "changed=true" >> $GITHUB_OUTPUT
echo "Files have changed"
else
echo "changed=false" >> $GITHUB_OUTPUT
echo "No changes detected"
fi

- name: Commit and push changes
if: steps.verify-changed-files.outputs.changed == 'true'
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add markdown/
git commit -m "Auto-generate markdown documentation from HTML [skip ci]"
git push
62 changes: 62 additions & 0 deletions markdown/docs/docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
DocumentationOverview

# Overview

Quick links to documentation sections:

[Quickstarts](/docs/quickstarts/)[Hellō Buttons](/docs/buttons/)[Hellō Scopes](/docs/scopes/)[SDK Reference](/docs/sdks/)[API Reference](/docs/apis/)[OpenIDOpenID Connect](/docs/oidc/)[Comparison](/docs/comparison/)[Roadmap](/docs/roadmap/)

## Introduction[](#introduction)

Hellō simplifies user registration and login for your application — allowing you to provide all the choices your users may want in minutes instead of hours, days or weeks.

To your application, Hellō is an [OpenID Connect (opens in a new tab)](https://openid.net/specs/openid-connect-core-1_0.html) Provider using the same protocol as social login providers such as Apple, Facebook, Google, and Microsoft. Unlike social login providers, Hellō gathers all the information you request about the user. Your users have choice on how they want to authenticate, which profile picture they want to provide you, and which email they want to verify. Hellō also lets you send the user back to Hellō if they want to update or add to their information. No need for you to implement email or phone verification, or image uploads.

Currently, Hellō is ideal for developers building **new**, **greenfield applications** where there is no requirement to integrate with existing user registration and login. In the future, we will have features that provide simple integration points.

Login providers include: Apple, Discord, Facebook, Google, GitHub, GitLab, Tumblr, Twitch, Line, Mastodon, MetaMask, Microsoft, WordPress.com, Yahoo!, WalletConnect. We also support OTP over email, and QR codes for logging into a desktop with your phone. Mobile devices will prompt the user to register a Passkey for a streamlined experience on their return.

Hellō currently supports Arabic `ar`, English `en`, French `fr`, German `de`, Hindi `hi`, Portuguese `pr`, & Spanish `es`. We welcome [translations (opens in a new tab)](https://github.com/hellocoop/wallet-i18n)!

## User Experience[](#user-experience)

1. The user opens your website and sees the Hellō button and clicks on it.

ō   Continue with Hellō

2. The user is redirected to the Hellō authorize page where they choose their preferred provider to log in. Popular social log in providers, email, phone, and web3 wallets are offered. The user completes logging in with their preferred provider.

3. The user is prompted to provide any claims requested by your application that were not gathered by the provider they chose.

4. The user is shown which claims will be released to your app. They can choose to add other claims to be release. The user clicks continue to release the claims to your app.

5. The user is redirected to your app and is now logged in and your app shows the profile information received from Hellō.


If the user wants to update their profile, they can click an Update button for the data they would like to change, which will take them back to Hellō where they can change the claim to be release to your app, such as a new profile picture or verified email.

ō   Update Email with Hellō

You can check out the Hellō user experience with our demo at [GreenfieldDemo.com (opens in a new tab)](https://greenfielddemo.com) or our [Next.js Starter (opens in a new tab)](https://hello-nextjs-sample.vercel.app/).

## Data Flow[](#data-flow)

1. Your app redirects the user's browser to Hellō (`https://wallet.hello.coop/authorize`) with your request.

2. Hellō requests and receives authentication claims from the user's selected provider.

3. The user provides Hellō any additional claims requested by your app.

4. The user directs Hellō which claims to release to your app.

5. Hellō redirects the user's browser back to your app with either:


- an authorization code, which your app exchanges for an ID Token at the token endpoint

- an ID Token containing the claims the user has chosen to release to your app, and your app verifies the ID Token is valid


This is a standard OpenID Connect data flow. Details in [OpenID Connect](/docs/oidc/).

[Getting Started](/docs/getting-started/ "Getting Started")
13 changes: 13 additions & 0 deletions markdown/docs/docs/apis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
DocumentationAPI References

# API References

The [Web Client API](/docs/apis/web-client/) is exposed by the [Express](/docs/sdks/express/), [Fastify](/docs/sdks/fastify/), and [Next.js](/docs/sdks/nextjs/) SDKs and provides a simple interface when integrating Hellō into your application.

The [Wallet API](/docs/apis/wallet/) follows the [OpenID Connect](/docs/oidc/) standard. Extensions are documented [here](/docs/apis/wallet/).

The [Quickstart API](/docs/apis/quickstart/) is the web interface to the Quickstart Web app. See [SDK Reference | Quickstart](/docs/sdks/quickstart/) for the node SDK.

[Web Client](/docs/apis/web-client/)[Wallet](/docs/apis/wallet/)[Invite (BETA)](/docs/apis/invite/)[Quickstart](/docs/apis/quickstart/)[Admin](/docs/apis/admin/)

[FAQs](/docs/sdks/faqs/ "FAQs")[Web Client](/docs/apis/web-client/ "Web Client")
7 changes: 7 additions & 0 deletions markdown/docs/docs/apis/admin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Documentation[API References](/docs/apis/)Admin

# Admin API

The control plane APIs used by the [Hellō Developer Console (opens in a new tab)](https://console.hello.coop) and [Hellō Quickstart (opens in a new tab)](https://quickstart.hello.coop) are an OAuth 2.0 protected resource. If you are interested in integrating Hellō application management into your console, please email us at [contact@hello.coop](mailto:contact@hello.coop?subject=Hell%C5%8D+Controle-Plane+Inquiry)

[Quickstart](/docs/apis/quickstart/ "Quickstart")[OpenID Connect](/docs/oidc/ "OpenID Connect")
Loading
Loading