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
6 changes: 6 additions & 0 deletions auth_samples_astro/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TUURIO_ISSUER=https://YOUR_TENANT.id.tuurio.com
TUURIO_CLIENT_ID=YOUR_CLIENT_ID
TUURIO_CLIENT_SECRET=
TUURIO_REDIRECT_URI=http://localhost:4321/auth/callback
TUURIO_POST_LOGOUT_REDIRECT_URI=http://localhost:4321/logout/callback
TUURIO_SCOPE=openid profile email
5 changes: 5 additions & 0 deletions auth_samples_astro/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules/
dist/
.astro/
.env
.env.local
13 changes: 13 additions & 0 deletions auth_samples_astro/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Astro OIDC authentication with Tuurio ID

Runnable Astro Node-server starter with Authorization Code + PKCE S256, validated ID tokens, UserInfo subject binding, opaque server-side sessions, a protected page, and RP-initiated logout.

## Configure

```bash
npx manage-tuurio-id@1.1.6 init --framework astro --project-dir . --auth browser --yes --output json --campaign github_astro --no-open --no-wait
npm install
npm run dev
```

The in-memory transaction/session stores are intentionally visible sample infrastructure. Replace them with a shared server-side store before horizontal scaling. Keep `TUURIO_CLIENT_SECRET` server-only.
4 changes: 4 additions & 0 deletions auth_samples_astro/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { defineConfig } from 'astro/config';
import node from '@astrojs/node';

export default defineConfig({ output: 'server', adapter: node({ mode: 'standalone' }) });
Loading