@@ -2,6 +2,7 @@ module.exports = handler
22
33var webid = require ( 'webid/tls' )
44var debug = require ( '../debug' ) . authentication
5+ var error = require ( '../http-error' )
56
67function handler ( req , res , next ) {
78 var ldp = req . app . locals . ldp
@@ -27,27 +28,33 @@ function handler (req, res, next) {
2728 return next ( )
2829 }
2930
30- var certificate = req . connection . getPeerCertificate ( )
31- // Certificate is empty? skip
32- if ( certificate === null || Object . keys ( certificate ) . length === 0 ) {
33- debug ( 'No client certificate found in the request. Did the user click on a cert?' )
34- setEmptySession ( req )
35- return next ( )
36- }
37-
38- // Verify webid
39- webid . verify ( certificate , function ( err , result ) {
40- if ( err ) {
41- debug ( 'Error processing certificate: ' + err . message )
31+ if ( ldp . auth === 'tls' ) {
32+ var certificate = req . connection . getPeerCertificate ( )
33+ // Certificate is empty? skip
34+ if ( certificate === null || Object . keys ( certificate ) . length === 0 ) {
35+ debug ( 'No client certificate found in the request. Did the user click on a cert?' )
4236 setEmptySession ( req )
4337 return next ( )
4438 }
45- req . session . userId = result
46- req . session . identified = true
47- debug ( 'Identified user: ' + req . session . userId )
48- res . set ( 'User' , req . session . userId )
49- return next ( )
50- } )
39+
40+ // Verify webid
41+ webid . verify ( certificate , function ( err , result ) {
42+ if ( err ) {
43+ debug ( 'Error processing certificate: ' + err . message )
44+ setEmptySession ( req )
45+ return next ( )
46+ }
47+ req . session . userId = result
48+ req . session . identified = true
49+ debug ( 'Identified user: ' + req . session . userId )
50+ res . set ( 'User' , req . session . userId )
51+ return next ( )
52+ } )
53+ } else if ( ldp . auth === 'oidc' ) {
54+ return next ( error ( 500 , 'OIDC not implemented yet' ) )
55+ } else {
56+ return next ( error ( 500 , 'Authentication method not supported' ) )
57+ }
5158}
5259
5360function setEmptySession ( req ) {
0 commit comments