From 50bcba0f204d12c1d75146e7f7ffc3b50875a1ff Mon Sep 17 00:00:00 2001 From: Adrian Cerbaro Date: Sat, 3 Dec 2022 21:41:22 -0300 Subject: [PATCH] docs(example): add `.well-known` link in home page --- example/src/app.controller.ts | 34 ++++++++------ example/views/index.ejs | 88 +++++++++++++++++++++++------------ 2 files changed, 76 insertions(+), 46 deletions(-) diff --git a/example/src/app.controller.ts b/example/src/app.controller.ts index 90aa58e..12f3be3 100644 --- a/example/src/app.controller.ts +++ b/example/src/app.controller.ts @@ -8,35 +8,37 @@ import { Res, } from '@nestjs/common'; import { Response } from 'express'; -import { Oidc } from 'nest-oidc-provider' +import { Oidc } from 'nest-oidc-provider'; import { KoaContextWithOIDC } from 'oidc-provider'; import axios from 'axios'; import qs from 'query-string'; @Controller() export class AppController { - private readonly logger = new Logger(AppController.name) + private readonly logger = new Logger(AppController.name); @Get('/') @Render('index') async index(@Oidc.Context() ctx: KoaContextWithOIDC) { - const { oidc: { provider } } = ctx; + const { + oidc: { provider }, + } = ctx; const session = await provider.Session.get(ctx); + const res: Record = { + query: ctx.query, + accountId: null, + scopes: null, + origin: ctx.URL.origin, + }; + if (session?.accountId) { const grant = await provider.Grant.find(session.grantIdFor('test')); - return { - query: ctx.query, - accountId: session.accountId, - scopes: grant?.getOIDCScopeEncountered() - } + res.accountId = session.accountId; + res.scopes = grant?.getOIDCScopeEncountered(); } - return { - query: ctx.query, - accountId: null, - scopes: null - } + return res; } @Get('/callback') @@ -44,7 +46,9 @@ export class AppController { const { code, error, error_description } = query; if (error) { - return res.redirect(`/?error=${error}&error_description=${error_description}`); + return res.redirect( + `/?error=${error}&error_description=${error_description}`, + ); } if (!code) { @@ -69,7 +73,7 @@ export class AppController { }, ); - res.redirect('/') + res.redirect('/'); } catch (err) { this.logger.error('Could not get token:', err); res diff --git a/example/views/index.ejs b/example/views/index.ejs index 6303ec7..8267533 100644 --- a/example/views/index.ejs +++ b/example/views/index.ejs @@ -28,65 +28,91 @@ - <% - if (query.error || query.error_description) { %> -
-
-
-

error: <%= query.error %>

-

error_description: <%= query.error_description %>

-
-
+ <% if (query.error || query.error_description) { %> +
+
+
+

error: <%= query.error %>

+

+ error_description: <%= + query.error_description %> +

- <% } %> - %> +
+
+ <% } %> %>
-
Welcome<% if (accountId) {%> <%= accountId %> <%} %>!
+
+ Welcome<% if (accountId) {%> + <%= accountId %> <%} %>! +
<% if (scopes) { %> -
-
Granted scopes:
-
    - <% for (const scopeName of scopes.trim().replace(/\s+/, ' ').split(' ')) { %> -
  • <%= scopeName %>
  • - <% } %> -
-
- <% } %> - - <% if (accountId) { %> - Logout +
+
Granted scopes:
+
    + <% for (const scopeName of scopes.trim().replace(/\s+/, + ' ').split(' ')) { %> +
  • <%= scopeName %>
  • + <% } %> +
+
+ <% } %> <% if (accountId) { %> + Logout <% } %>
- +
- +
+ +