1 | const Auth = require( '../lib/auth/auth' );
|
2 |
|
3 | module.exports = {
|
4 | routes : {
|
5 | appRoute : process.env.APP_ROUTE || '/',
|
6 | appView : process.env.APP_VIEW || 'index',
|
7 | login : process.env.LOGIN_ROUTE || '/login',
|
8 | logout : process.env.LOGOUT_ROUTE || '/logout',
|
9 | userRoute : process.env.USER_ROUTE || '/user',
|
10 | userView : process.env.USER_VIEW || 'user',
|
11 | },
|
12 | passport : {
|
13 | strategy : 'saml',
|
14 | saml : {
|
15 | path : process.env.SAML_PATH || '/login/callback',
|
16 | host : process.env.SAML_ISSUER || 'localhost',
|
17 | protocol : process.env.PROTOCOL || 'http://',
|
18 | entryPoint : process.env.SAML_ENTRY_POINT || 'https://selfservice.madera.k12.ca.us/idp/profile/SAML2/Redirect/SSO',
|
19 | logoutUrl : process.env.SAML_LOGOUT_URL || 'https://selfservice.madera.k12.ca.us/idp/logout',
|
20 | issuer : process.env.SAML_ISSUER || 'https://localhost.madera.k12.ca.us:3000',
|
21 | identifierFormat : process.env.IDENTIFIER_FORMAT || 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
|
22 | acceptedClockSkewMs : -1
|
23 |
|
24 | },
|
25 | callbackModel : async ( profile, done ) => {
|
26 |
|
27 | const {
|
28 | nameID : email,
|
29 | employeeType : personType,
|
30 | employeeNumber : personNumber
|
31 | } = profile;
|
32 |
|
33 | const user = await Auth.auth( personNumber, personType, email );
|
34 |
|
35 | done( null, user );
|
36 | }
|
37 |
|
38 | }
|
39 | };
|