Skip to content

Commit b083051

Browse files
committed
Session data used for consent
1 parent a1955c9 commit b083051

File tree

4 files changed

+14
-22
lines changed

4 files changed

+14
-22
lines changed

default-views/auth/consent.hbs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
<button type="submit" class="btn btn-primary" name="consent" value="true">Authorize</button>
4040
<button type="submit" class="btn btn-default" name="cancel" value="true">Cancel</button>
4141
{{> auth/auth-hidden-fields}}
42-
<input type="hidden" name="web_id" id="web_id" value="{{web_id}}" />
4342
</form>
4443
</div>
4544
</body>

lib/requests/auth-request.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
const url = require('url')
44
const debug = require('./../debug').authentication
5-
const IDToken = require('@solid/oidc-op/src/IDToken')
65

76
/**
87
* Hidden form fields from the login page that must be passed through to the
@@ -11,7 +10,7 @@ const IDToken = require('@solid/oidc-op/src/IDToken')
1110
* @type {Array<string>}
1211
*/
1312
const AUTH_QUERY_PARAMS = ['response_type', 'display', 'scope',
14-
'client_id', 'redirect_uri', 'state', 'nonce', 'request', 'web_id']
13+
'client_id', 'redirect_uri', 'state', 'nonce', 'request']
1514

1615
/**
1716
* Base authentication request (used for login and password reset workflows).
@@ -135,11 +134,6 @@ class AuthRequest {
135134
extracted[p] = value
136135
}
137136

138-
// Special case because solid-auth-client does not include redirect in params
139-
if (!extracted['redirect_uri'] && params.request) {
140-
extracted['redirect_uri'] = IDToken.decode(params.request).payload.redirect_uri
141-
}
142-
143137
return extracted
144138
}
145139

@@ -217,14 +211,11 @@ class AuthRequest {
217211
return url.format(signupUrl)
218212
}
219213

220-
consentUrl (validUser) {
214+
consentUrl () {
221215
let host = this.accountManager.host
222216
let consentUrl = url.parse(url.resolve(host.serverUri, '/consent'))
223217

224-
consentUrl.query = {
225-
...this.authQueryParams,
226-
web_id: validUser.webId
227-
}
218+
consentUrl.query = this.authQueryParams
228219

229220
return url.format(consentUrl)
230221
}

lib/requests/consent-request.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,22 +95,24 @@ class ConsentRequest extends AuthRequest {
9595
}
9696

9797
let request = ConsentRequest.fromParams(req, res)
98+
99+
// Ensure the user arrived here by logging in
100+
if (!request.session.subject && request.session.subject._id) {
101+
const error = new Error('User not logged in')
102+
error.statusCode = 401
103+
throw error
104+
}
105+
98106
const appOrigin = request.getAppOrigin()
99107
debug('Providing consent for app sharing')
100108

101109
if (consented) {
102-
await request.registerApp(req.app.locals.ldp, appOrigin, accessModes, request.authQueryParams.web_id)
110+
await request.registerApp(req.app.locals.ldp, appOrigin, accessModes, request.session.subject._id)
103111
}
104112

105113
console.log('oh no didnt update')
106114
// Redirect once that's all done
107-
return request.authenticator.findValidUser()
108-
.then(validUser => {
109-
request.initUserSession(validUser)
110-
request.redirectPostConsent(validUser)
111-
})
112-
113-
.catch(error => request.error(error))
115+
request.redirectPostConsent()
114116
}
115117

116118
getAppOrigin () {

lib/requests/login-request.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ class LoginRequest extends AuthRequest {
159159
postLoginUrl (validUser) {
160160
// Login request is part of an app's auth flow
161161
if (/token|code/.test(this.authQueryParams['response_type'])) {
162-
return this.consentUrl(validUser)
162+
return this.consentUrl()
163163
// Login request is a user going to /login in browser
164164
} else if (validUser) {
165165
return this.authQueryParams['redirect_uri'] || validUser.accountUri

0 commit comments

Comments
 (0)