Skip to content

Commit

Permalink
fix(cli): Fix interactions path based on oidcBasePath in ejs files
Browse files Browse the repository at this point in the history
  • Loading branch information
Romakita committed Aug 22, 2021
1 parent 67a0a69 commit fe7d3c9
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,10 @@ export class OidcProviderInitHook {
this.addDependencies(ctx);
this.addDevDependencies(ctx);

ctx.oidcBasePath = ctx.oidcBasePath && ctx.oidcBasePath !== "/" ? ctx.oidcBasePath : "";
ctx.oidcConfigBasePath = ctx.oidcBasePath ? ctx.oidcBasePath : "/";

return [
{
title: "Copy views",
task: async () => {
return copy(join(TEMPLATE_DIR, "init/views"), join(this.srcRenderer.rootDir, "views"));
}
},
{
title: "Generate files",
task: async () =>
Expand All @@ -43,7 +40,18 @@ export class OidcProviderInitHook {
"/src/interactions/CustomInteraction.ts",
"/src/interactions/LoginInteraction.ts",
"/src/models/Account.ts",
"/src/services/Accounts.ts"
"/src/services/Accounts.ts",
"/views/forms/interaction-form.ejs.hbs",
"/views/forms/login-form.ejs.hbs",
"/views/forms/select-account-form.ejs.hbs",
"/views/forms/select-account-form.ejs.hbs",
"/views/partials/footer.ejs",
"/views/partials/header.ejs",
"/views/partials/login-help.ejs.hbs",
"/views/interaction.ejs",
"/views/login.ejs",
"/views/repost.ejs.hbs",
"/views/select-account-form.ejs"
].filter(Boolean),
ctx,
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {OidcSettings} from "@tsed/oidc-provider";
import {Accounts} from "../../services/Accounts";

const settings: OidcSettings = {
path: "{{oidcBasePath}}",
path: "{{oidcConfigBasePath}}",
Accounts: Accounts,
jwksPath: "./jwks.jon",
clients: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,6 @@
</li>
<% } %>
</ul>
<form autocomplete="off" action="/interaction/<%= uid %>/confirm" method="post">
<form autocomplete="off" action="{{oidcBasePath}}/interaction/<%= uid %>/confirm" method="post">
<button autofocus type="submit" class="login login-submit">Continue</button>
</form>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<p><%= flash %></p>
<% } %>

<form autocomplete="off" action="/interaction/<%= uid %>/login" method="post">
<form autocomplete="off" action="{{oidcBasePath}}/interaction/<%= uid %>/login" method="post">
<input required type="email" name="email" placeholder="Enter an email" <% if (!params.login_hint) { %>autofocus="on"<% } else { %> value="<%= params.login_hint %>" <% } %>>

<input required type="password" name="password" placeholder="and password" <% if (params.login_hint) { %>autofocus="on"<% } %>>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<form autocomplete="off" action="/interaction/<%= uid %>/continue" method="post">
<form autocomplete="off" action="{{oidcBasePath}}/interaction/<%= uid %>/continue" method="post">
<button autofocus type="submit" class="login login-submit">Continue as <%= email %></button>
</form>
<form autocomplete="off" action="/interaction/<%= uid %>/continue" method="post">
<form autocomplete="off" action="{{oidcBasePath}}/interaction/<%= uid %>/continue" method="post">
<input type="hidden" name="switch" value="true">
<button type="submit" class="login">Switch account</button>
</form>
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div class="login-help">
<a href="/interaction/<%= uid %>/abort">[ Cancel ]</a>
<a href="{{oidcBasePath}}/interaction/<%= uid %>/abort">[ Cancel ]</a>
<% if (client.tosUri) { %>
<a href="<%= client.tosUri %>">[ Terms of Service ]</a>
<% } %>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
var uid = fields.state.split('|')[0]
var form = document.createElement('form');
form.method = 'POST';
form.action = '/interaction/' + uid + '/federated';
form.action = '{{oidcBasePath}}/interaction/' + uid + '/federated';
Object.keys(fields).forEach((key) => {
if (key) { // empty fragment will yield {"":""};
var input = document.createElement('input');
Expand Down

0 comments on commit fe7d3c9

Please sign in to comment.