Add play uri for login and register in hydra (#1421)

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
This commit is contained in:
grégoire parant 2021-09-08 13:39:46 +02:00 committed by GitHub
parent f60678478b
commit 6cf86ec8dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 8 deletions

View file

@ -27,13 +27,17 @@ export class AuthenticateController extends BaseController {
console.warn("/message request was aborted");
});
const { nonce, state } = parse(req.getQuery());
const { nonce, state, playUri } = parse(req.getQuery());
if (!state || !nonce) {
res.writeStatus("400 Unauthorized").end("missing state and nonce URL parameters");
return;
}
try {
const loginUri = await openIDClient.authorizationUrl(state as string, nonce as string);
const loginUri = await openIDClient.authorizationUrl(
state as string,
nonce as string,
playUri as string | undefined
);
res.writeStatus("302");
res.writeHeader("Location", loginUri);
return res.end();

View file

@ -20,13 +20,14 @@ class OpenIDClient {
return this.issuerPromise;
}
public authorizationUrl(state: string, nonce: string) {
public authorizationUrl(state: string, nonce: string, playUri?: string) {
return this.initClient().then((client) => {
return client.authorizationUrl({
scope: "openid email",
prompt: "login",
state: state,
nonce: nonce,
playUri: playUri,
});
});
}