ep_openid_connect 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -152,7 +152,6 @@ exports.expressCreateServer = (hookName, {app}) => {
152
152
  }
153
153
  if (req.session.ep_openid_connect == null) req.session.ep_openid_connect = {};
154
154
  const oidcSession = req.session.ep_openid_connect;
155
- oidcSession.next = req.query.redirect_uri || settings.base_url;
156
155
  const commonParams = {
157
156
  nonce: generators.nonce(),
158
157
  scope: settings.scope.join(' '),
@@ -207,8 +206,9 @@ exports.authenticate = (hookName, {req, res, users}) => {
207
206
 
208
207
  exports.authnFailure = (hookName, {req, res}) => {
209
208
  if (oidcClient == null) return;
210
- const url = new URL(req.url.substr(1), settings.base_url).toString();
211
- res.redirect(`${endpointUrl('login')}?redirect_uri=${encodeURIComponent(url)}`);
209
+ if (req.session.ep_openid_connect == null) req.session.ep_openid_connect = {};
210
+ req.session.ep_openid_connect.next = new URL(req.url.slice(1), settings.base_url).toString();
211
+ res.redirect(endpointUrl('login'));
212
212
  return true;
213
213
  };
214
214
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ep_openid_connect",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Etherpad plugin to authenticate users against an OpenID Connect provider.",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -63,18 +63,13 @@ describe(__filename, function () {
63
63
  });
64
64
 
65
65
  it('not logged in redirects to login endpoint', async function () {
66
- const params = new URLSearchParams();
67
- params.append('redirect_uri', new URL('/', common.baseUrl));
68
- const wantRedirect = new URL(`/ep_openid_connect/login?${params}`, common.baseUrl).toString();
69
66
  await agent.get(common.baseUrl)
70
67
  .expect(302)
71
- .expect('location', wantRedirect);
68
+ .expect('location', new URL('/ep_openid_connect/login', common.baseUrl).toString());
72
69
  });
73
70
 
74
71
  it('login endpoint redirects to authorization URL', async function () {
75
- const params = new URLSearchParams();
76
- params.append('redirect_uri', new URL('/', common.baseUrl));
77
- await agent.get(new URL(`/ep_openid_connect/login?${params}`, common.baseUrl))
72
+ await agent.get(new URL('/ep_openid_connect/login', common.baseUrl))
78
73
  .expect(302)
79
74
  .expect('location', /.*/)
80
75
  .expect((res) => {
@@ -217,6 +212,6 @@ describe(__filename, function () {
217
212
  .expect(302)
218
213
  .expect('location', /./)
219
214
  .expect((res) => assert(res.headers.location.startsWith(
220
- new URL('/ep_openid_connect/login?', common.baseUrl).toString())));
215
+ new URL('/ep_openid_connect/login', common.baseUrl).toString())));
221
216
  });
222
217
  });