mirror of
https://github.com/ConjureETS/Interface-Admin.git
synced 2026-03-23 20:11:07 +00:00
Fixed passport login
This commit is contained in:
parent
f653cd3714
commit
af3ccbebf1
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,5 +2,6 @@ vendor/
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
|
||||
.idea/
|
||||
|
||||
**/config.json
|
||||
dist/
|
||||
32
.idea/$CACHE_FILE$
generated
Normal file
32
.idea/$CACHE_FILE$
generated
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectInspectionProfilesVisibleTreeState">
|
||||
<entry key="Project Default">
|
||||
<profile-state>
|
||||
<expanded-state>
|
||||
<State />
|
||||
<State>
|
||||
<id>EditorConfig</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Flow type checkerJavaScript</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>General</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Internationalization</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>JavaScript</id>
|
||||
</State>
|
||||
</expanded-state>
|
||||
<selected-state>
|
||||
<State>
|
||||
<id>CSS</id>
|
||||
</State>
|
||||
</selected-state>
|
||||
</profile-state>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/jsLibraryMappings.xml
generated
Normal file
6
.idea/jsLibraryMappings.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<file url="PROJECT" libraries="{jquery}" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
4
.idea/watcherTasks.xml
generated
Normal file
4
.idea/watcherTasks.xml
generated
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectTasksOptions" suppressed-tasks="Pug/Jade" />
|
||||
</project>
|
||||
203
package-lock.json
generated
203
package-lock.json
generated
@ -14,6 +14,18 @@
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz",
|
||||
"integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ=="
|
||||
},
|
||||
"@babel/register": {
|
||||
"version": "7.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/register/-/register-7.10.5.tgz",
|
||||
"integrity": "sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw==",
|
||||
"requires": {
|
||||
"find-cache-dir": "^2.0.0",
|
||||
"lodash": "^4.17.19",
|
||||
"make-dir": "^2.1.0",
|
||||
"pirates": "^4.0.0",
|
||||
"source-map-support": "^0.5.16"
|
||||
}
|
||||
},
|
||||
"@babel/types": {
|
||||
"version": "7.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
|
||||
@ -29,6 +41,18 @@
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz",
|
||||
"integrity": "sha512-D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw=="
|
||||
},
|
||||
"@natlibfi/passport-atlassian-crowd": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@natlibfi/passport-atlassian-crowd/-/passport-atlassian-crowd-2.0.3.tgz",
|
||||
"integrity": "sha512-GGFcZixy2CwkS/H2+z+3k9Jp+doo4rcey7x6i5kdr81uZ94GN1aIDuzoENAxUpvpfKmefDkDOf+U3uo8ySnbcw==",
|
||||
"requires": {
|
||||
"@babel/register": "^7.0.0",
|
||||
"http-status": "^1.3.1",
|
||||
"moment": "^2.24.0",
|
||||
"node-fetch": "^2.3.0",
|
||||
"passport-strategy": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"@types/babel-types": {
|
||||
"version": "7.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.8.tgz",
|
||||
@ -254,6 +278,11 @@
|
||||
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
|
||||
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
|
||||
},
|
||||
"bytes": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
|
||||
@ -416,6 +445,11 @@
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
||||
},
|
||||
"commondir": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
|
||||
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
@ -448,6 +482,15 @@
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
|
||||
"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
|
||||
},
|
||||
"cookie-parser": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz",
|
||||
"integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==",
|
||||
"requires": {
|
||||
"cookie": "0.4.0",
|
||||
"cookie-signature": "1.0.6"
|
||||
}
|
||||
},
|
||||
"cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
@ -648,6 +691,33 @@
|
||||
"vary": "~1.1.2"
|
||||
}
|
||||
},
|
||||
"express-session": {
|
||||
"version": "1.17.1",
|
||||
"resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz",
|
||||
"integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==",
|
||||
"requires": {
|
||||
"cookie": "0.4.0",
|
||||
"cookie-signature": "1.0.6",
|
||||
"debug": "2.6.9",
|
||||
"depd": "~2.0.0",
|
||||
"on-headers": "~1.0.2",
|
||||
"parseurl": "~1.3.3",
|
||||
"safe-buffer": "5.2.0",
|
||||
"uid-safe": "~2.1.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"depd": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
|
||||
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
@ -670,6 +740,16 @@
|
||||
"unpipe": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"find-cache-dir": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
|
||||
"integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
|
||||
"requires": {
|
||||
"commondir": "^1.0.1",
|
||||
"make-dir": "^2.0.0",
|
||||
"pkg-dir": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"find-up": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
||||
@ -784,6 +864,11 @@
|
||||
"toidentifier": "1.0.0"
|
||||
}
|
||||
},
|
||||
"http-status": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/http-status/-/http-status-1.4.2.tgz",
|
||||
"integrity": "sha512-mBnIohUwRw9NyXMEMMv8/GANnzEYUj0Y8d3uL01zDWFkxUjYyZ6rgCaAI2zZ1Wb34Oqtbx/nFZolPRDc8Xlm5A=="
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
@ -1010,6 +1095,15 @@
|
||||
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
|
||||
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
|
||||
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
|
||||
"requires": {
|
||||
"pify": "^4.0.1",
|
||||
"semver": "^5.6.0"
|
||||
}
|
||||
},
|
||||
"media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
@ -1132,6 +1226,16 @@
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
|
||||
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
|
||||
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
|
||||
},
|
||||
"node-modules-regexp": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
|
||||
"integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA="
|
||||
},
|
||||
"normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
@ -1210,6 +1314,20 @@
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
|
||||
},
|
||||
"passport": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz",
|
||||
"integrity": "sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==",
|
||||
"requires": {
|
||||
"passport-strategy": "1.x.x",
|
||||
"pause": "0.0.1"
|
||||
}
|
||||
},
|
||||
"passport-strategy": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
|
||||
"integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ="
|
||||
},
|
||||
"path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
@ -1235,11 +1353,69 @@
|
||||
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
|
||||
"integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA="
|
||||
},
|
||||
"pause": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz",
|
||||
"integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10="
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
|
||||
},
|
||||
"pify": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
|
||||
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
|
||||
},
|
||||
"pirates": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
|
||||
"integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
|
||||
"requires": {
|
||||
"node-modules-regexp": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"pkg-dir": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
|
||||
"integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
|
||||
"requires": {
|
||||
"find-up": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"find-up": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
|
||||
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
|
||||
"requires": {
|
||||
"locate-path": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"locate-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
|
||||
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
|
||||
"requires": {
|
||||
"p-locate": "^3.0.0",
|
||||
"path-exists": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"p-locate": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
|
||||
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
|
||||
"requires": {
|
||||
"p-limit": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"path-exists": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
|
||||
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
|
||||
}
|
||||
}
|
||||
},
|
||||
"promise": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
|
||||
@ -1561,6 +1737,11 @@
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
|
||||
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
|
||||
},
|
||||
"random-bytes": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
|
||||
"integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs="
|
||||
},
|
||||
"range-parser": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
@ -1631,6 +1812,11 @@
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
|
||||
},
|
||||
"send": {
|
||||
"version": "0.17.1",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
|
||||
@ -1689,6 +1875,15 @@
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
|
||||
},
|
||||
"source-map-support": {
|
||||
"version": "0.5.19",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
|
||||
"integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
@ -1858,6 +2053,14 @@
|
||||
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
|
||||
"optional": true
|
||||
},
|
||||
"uid-safe": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz",
|
||||
"integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==",
|
||||
"requires": {
|
||||
"random-bytes": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"unpipe": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
|
||||
@ -5,18 +5,22 @@
|
||||
"scripts": {
|
||||
"start": "node dist/server.js",
|
||||
"test": "mocha --reporter spec --require ts-node/register 'test/**/*.ts' --exit",
|
||||
"build": "tsc",
|
||||
"build": "tsc --project tsconfig.json",
|
||||
"coverage": "nyc npm run test",
|
||||
"coverage:coveralls": "nyc --reporter=lcov --reporter=text-lcov npm run test | coveralls",
|
||||
"build-start": "npm run build && npm start"
|
||||
},
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@natlibfi/passport-atlassian-crowd": "^2.0.3",
|
||||
"@types/node": "^14.0.23",
|
||||
"chai": "^4.2.0",
|
||||
"cookie-parser": "^1.4.5",
|
||||
"express": "^4.17.1",
|
||||
"express-session": "^1.17.1",
|
||||
"mocha": "^8.0.1",
|
||||
"morgan": "^1.10.0",
|
||||
"passport": "^0.4.1",
|
||||
"pug": "^3.0.0",
|
||||
"pug-bootstrap": "0.0.16",
|
||||
"startbootstrap-sb-admin-2": "^4.1.1",
|
||||
|
||||
11
public/main.js
Normal file
11
public/main.js
Normal file
@ -0,0 +1,11 @@
|
||||
$(function () {
|
||||
$('form.user button').click(function() {
|
||||
fetch('/login', {
|
||||
method:'POST',
|
||||
headers: {'Authorization': 'Basic ' + btoa($('#usernameInput').val() + ':' + $('#passwordInput').val())},
|
||||
credentials: 'include',
|
||||
}).then(() => location.href = '/');
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
69
src/App.ts
69
src/App.ts
@ -1,42 +1,73 @@
|
||||
import * as express from 'express';
|
||||
import * as logger from 'morgan';
|
||||
import * as bodyParser from 'body-parser';
|
||||
//import * as ExpressSession from 'express-session';
|
||||
import express from 'express';
|
||||
import session from 'express-session';
|
||||
import cookieParser from 'cookie-parser';
|
||||
import logger from 'morgan';
|
||||
import bodyParser from 'body-parser';
|
||||
import passport from 'passport';
|
||||
import { BasicStrategy } from '@natlibfi/passport-atlassian-crowd';
|
||||
|
||||
import config from './config.json';
|
||||
|
||||
// Creates and configures an ExpressJS web server.
|
||||
class App {
|
||||
public expressApp : express.Application;
|
||||
expressApp = express();
|
||||
|
||||
//Run configuration methods on the Express instance.
|
||||
constructor() {
|
||||
this.expressApp = express();
|
||||
this.middleware();
|
||||
this.routes();
|
||||
|
||||
this.expressApp.set('view engine', 'pug');
|
||||
|
||||
this.expressApp.use(express.static(__dirname + '/../public'));
|
||||
this.expressApp.use('/sb-admin-2/css', express.static(__dirname + '/../node_modules/startbootstrap-sb-admin-2/css'));
|
||||
this.expressApp.use('/sb-admin-2/js', express.static(__dirname + '/../node_modules/startbootstrap-sb-admin-2/js'));
|
||||
}
|
||||
|
||||
// Configure Express middleware.
|
||||
private middleware() : void {
|
||||
this.expressApp.use(logger('dev'));
|
||||
|
||||
this.expressApp.use(bodyParser.json());
|
||||
this.expressApp.use(bodyParser.urlencoded({extended: false}));
|
||||
/*this.expressApp.use(ExpressSession(
|
||||
{
|
||||
secret: 'My Secret Key',
|
||||
resave: false,
|
||||
saveUninitialized: true
|
||||
}));*/
|
||||
|
||||
const secret = '1JuNvRoLNFORzHsfF1T816Ums';
|
||||
this.expressApp.use(cookieParser(secret));
|
||||
|
||||
this.expressApp.use(session({
|
||||
secret,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: {secure: false}
|
||||
}))
|
||||
|
||||
this.expressApp.use(passport.initialize());
|
||||
this.expressApp.use(passport.session());
|
||||
|
||||
passport.use(new BasicStrategy(config.crowd));
|
||||
|
||||
passport.serializeUser((user, done) => done(null, user));
|
||||
passport.deserializeUser((user, done) => done(null, user));
|
||||
}
|
||||
|
||||
// Configure API endpoints.
|
||||
private routes() : void {
|
||||
let router = express.Router();
|
||||
this.expressApp.get('/',
|
||||
App.checkLogin,
|
||||
(req, res) => res.render('index')
|
||||
);
|
||||
|
||||
router.get('/', (req, res) => res.render('index'));
|
||||
this.expressApp.get('/login',
|
||||
(req, res) => res.render('login')
|
||||
);
|
||||
this.expressApp.post('/login',
|
||||
passport.authenticate('atlassian-crowd-basic'),
|
||||
(req, res) => res.redirect('/')
|
||||
);
|
||||
}
|
||||
|
||||
this.expressApp.use('/', router);
|
||||
private static checkLogin(req, res, next) {
|
||||
if (req.isAuthenticated()) {
|
||||
res.locals.user = {name: req.user.name};
|
||||
next();
|
||||
}else
|
||||
res.redirect('/login');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,10 +1,7 @@
|
||||
import * as http from 'http';
|
||||
import * as debug from 'debug';
|
||||
import http from 'http';
|
||||
|
||||
import App from './App';
|
||||
|
||||
debug('ts-express:server');
|
||||
|
||||
const port = normalizePort(process.env.PORT || 3000);
|
||||
App.set('port', port);
|
||||
|
||||
@ -41,5 +38,5 @@ function onError(error: NodeJS.ErrnoException): void {
|
||||
function onListening(): void {
|
||||
let addr = server.address();
|
||||
let bind = (typeof addr === 'string') ? `pipe ${addr}` : `port ${addr.port}`;
|
||||
debug(`Listening on ${bind}`);
|
||||
console.log(`Listening on ${bind}`);
|
||||
}
|
||||
|
||||
@ -3,7 +3,10 @@
|
||||
"target": "esnext",
|
||||
"module": "commonjs",
|
||||
"outDir": "dist",
|
||||
"sourceMap": true
|
||||
"rootDir": "src",
|
||||
"sourceMap": true,
|
||||
"esModuleInterop": true,
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
|
||||
1
views/login.pug
Normal file
1
views/login.pug
Normal file
@ -0,0 +1 @@
|
||||
extends sb-admin-2/login
|
||||
@ -1,6 +1,6 @@
|
||||
li.nav-item.dropdown.no-arrow
|
||||
a#userDropdown.nav-link.dropdown-toggle(href='#' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false')
|
||||
span.mr-2.d-none.d-lg-inline.text-gray-600.small William Tremblay
|
||||
span.mr-2.d-none.d-lg-inline.text-gray-600.small #{user.name.givenName} #{user.name.familyName}
|
||||
img.img-profile.rounded-circle(src='https://source.unsplash.com/QAB-WJcbgJk/60x60')
|
||||
// Dropdown - User Information
|
||||
.dropdown-menu.dropdown-menu-right.shadow.animated--grow-in(aria-labelledby='userDropdown')
|
||||
|
||||
@ -16,10 +16,10 @@ mixin tick_box(text)
|
||||
label(class="custom-control-label" for="customCheck")= text
|
||||
|
||||
mixin username_textbox(text_placeholder)
|
||||
input(type="email" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder!= text_placeholder name="username" required)
|
||||
input(type="text" class="form-control form-control-user" id="usernameInput" aria-describedby="emailHelp" placeholder!= text_placeholder name="username" required)
|
||||
|
||||
mixin password_textbox(text_placeholder)
|
||||
input(type="password" class="form-control form-control-user" id="exampleInputPassword" placeholder!= text_placeholder name="password" required)
|
||||
input(type="password" class="form-control form-control-user" id="passwordInput" placeholder!= text_placeholder name="password" required)
|
||||
|
||||
mixin login_btn(login_text, login_href)
|
||||
a(href!= login_href class="btn btn-primary btn-user btn-block")= login_text
|
||||
@ -218,24 +218,25 @@ mixin login_card_body
|
||||
div(class="text-center")
|
||||
h1(class="h4 text-gray-900 mb-4") Welcome Back!
|
||||
|
||||
form.user(action="/", method="post")
|
||||
form.user
|
||||
.form-group
|
||||
+username_textbox("Enter Email Address...")
|
||||
+username_textbox("Username")
|
||||
|
||||
.form-group
|
||||
+password_textbox("Password")
|
||||
|
||||
//.form-group
|
||||
// +tick_box("Remember Me")
|
||||
//-.form-group
|
||||
//- +tick_box("Remember Me")
|
||||
|
||||
+login_submit_btn("Login", "/")
|
||||
//-+login_submit_btn("Login", "/")
|
||||
button.btn.btn-primary.btn-user.btn-block(type='button') Login
|
||||
|
||||
//+social_login_btn("fa-google","Login with Google","index.html")
|
||||
//+social_login_btn("fa-facebook-f","Login with Facebook","index.html")
|
||||
//-+social_login_btn("fa-google","Login with Google","index.html")
|
||||
//-+social_login_btn("fa-facebook-f","Login with Facebook","index.html")
|
||||
|
||||
//<hr>
|
||||
//+link_btn("Forgot Password?","forgot-password.html")
|
||||
//+link_btn("Create an Account!","register.html")
|
||||
//-<hr>
|
||||
//-+link_btn("Forgot Password?","forgot-password.html")
|
||||
//-+link_btn("Create an Account!","register.html")
|
||||
|
||||
mixin register_google_btn
|
||||
a(href="index.html" class="btn btn-google btn-user btn-block")
|
||||
|
||||
@ -8,3 +8,4 @@ script(src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.m
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
script(src="sb-admin-2/js/sb-admin-2.min.js")
|
||||
script(src='main.js')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user