w-web-sso 1.0.12 → 1.0.13
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/dist/w-web-sso.umd.js +2 -2
- package/dist/w-web-sso.umd.js.map +1 -1
- package/docs/WWebSso.html +3 -3
- package/docs/WWebSso.mjs.html +9 -9
- package/docs/index.html +1 -1
- package/package.json +2 -2
- package/server/WWebSso.mjs +8 -8
- package/srv.mjs +3 -3
package/docs/WWebSso.html
CHANGED
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
<h4 class="name" id="WWebSso"><span class="type-signature"></span>new WWebSso<span class="signature">(WOrm, url, db, getUserByToken,
|
|
67
|
+
<h4 class="name" id="WWebSso"><span class="type-signature"></span>new WWebSso<span class="signature">(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser, pathSettings<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Object}</span></h4>
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
@@ -305,7 +305,7 @@
|
|
|
305
305
|
|
|
306
306
|
<tr>
|
|
307
307
|
|
|
308
|
-
<td class="name"><code>
|
|
308
|
+
<td class="name"><code>verifyClientUser</code></td>
|
|
309
309
|
|
|
310
310
|
|
|
311
311
|
<td class="type">
|
|
@@ -495,7 +495,7 @@
|
|
|
495
495
|
<br class="clear">
|
|
496
496
|
|
|
497
497
|
<footer>
|
|
498
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
498
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sat Jun 07 2025 20:41:04 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
499
499
|
</footer>
|
|
500
500
|
|
|
501
501
|
<script>prettyPrint();</script>
|
package/docs/WWebSso.mjs.html
CHANGED
|
@@ -77,7 +77,7 @@ import procSettings from './procSettings.mjs'
|
|
|
77
77
|
* @param {String} url 輸入資料庫連線字串,例如w-orm-lmdb為'./db',或w-orm-mongodb為'mongodb://sername:password@$127.0.0.1:27017'
|
|
78
78
|
* @param {String} db 輸入資料庫名稱字串
|
|
79
79
|
* @param {Function} getUserByToken 輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n',且輸入'y'時會複寫權限系統該使用者之'isAdmin'欄位值
|
|
80
|
-
* @param {Function}
|
|
80
|
+
* @param {Function} verifyClientUser 輸入驗證瀏覽使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
|
|
81
81
|
* @param {Function} verifyAppUser 輸入驗證應用程序使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
|
|
82
82
|
* @param {String} [pathSettings='./settings'] 輸入設定檔案路徑字串,預設'./settings'
|
|
83
83
|
* @returns {Object} 回傳物件,其內server為hapi伺服器實體,wsrv為w-converhp的伺服器事件物件,wsds為w-serv-webdata的伺服器事件物件,可監聽error事件
|
|
@@ -86,7 +86,7 @@ import procSettings from './procSettings.mjs'
|
|
|
86
86
|
*
|
|
87
87
|
*
|
|
88
88
|
*/
|
|
89
|
-
function WWebSso(WOrm, url, db, getUserByToken,
|
|
89
|
+
function WWebSso(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser, pathSettings) {
|
|
90
90
|
let instWServHapiServer = null
|
|
91
91
|
|
|
92
92
|
|
|
@@ -118,10 +118,10 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
|
|
121
|
-
//check
|
|
122
|
-
if (!isfun(
|
|
123
|
-
console.log('invalid
|
|
124
|
-
throw new Error('invalid
|
|
121
|
+
//check verifyClientUser
|
|
122
|
+
if (!isfun(verifyClientUser)) {
|
|
123
|
+
console.log('invalid verifyClientUser', verifyClientUser)
|
|
124
|
+
throw new Error('invalid verifyClientUser')
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
|
|
@@ -418,8 +418,8 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
|
|
|
418
418
|
// //getTokenUser
|
|
419
419
|
// let userSelf = await getTokenUser(token)
|
|
420
420
|
|
|
421
|
-
// //
|
|
422
|
-
// let b =
|
|
421
|
+
// //verifyClientUser
|
|
422
|
+
// let b = verifyClientUser(userSelf, caller)
|
|
423
423
|
// if (ispm(b)) {
|
|
424
424
|
// b = await b
|
|
425
425
|
// }
|
|
@@ -829,7 +829,7 @@ export default WWebSso
|
|
|
829
829
|
<br class="clear">
|
|
830
830
|
|
|
831
831
|
<footer>
|
|
832
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
832
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sat Jun 07 2025 20:41:04 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
833
833
|
</footer>
|
|
834
834
|
|
|
835
835
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sat Jun 07 2025 20:41:04 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "w-web-sso",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"main": "dist/w-web-sso.umd.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@mdi/js": "^7.4.47",
|
|
7
|
-
"axios": "^1.
|
|
7
|
+
"axios": "^1.9.0",
|
|
8
8
|
"json5": "^2.2.3",
|
|
9
9
|
"lodash-es": "^4.17.21",
|
|
10
10
|
"w-component-vue": "^2.4.20",
|
package/server/WWebSso.mjs
CHANGED
|
@@ -30,7 +30,7 @@ import procSettings from './procSettings.mjs'
|
|
|
30
30
|
* @param {String} url 輸入資料庫連線字串,例如w-orm-lmdb為'./db',或w-orm-mongodb為'mongodb://sername:password@$127.0.0.1:27017'
|
|
31
31
|
* @param {String} db 輸入資料庫名稱字串
|
|
32
32
|
* @param {Function} getUserByToken 輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n',且輸入'y'時會複寫權限系統該使用者之'isAdmin'欄位值
|
|
33
|
-
* @param {Function}
|
|
33
|
+
* @param {Function} verifyClientUser 輸入驗證瀏覽使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
|
|
34
34
|
* @param {Function} verifyAppUser 輸入驗證應用程序使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
|
|
35
35
|
* @param {String} [pathSettings='./settings'] 輸入設定檔案路徑字串,預設'./settings'
|
|
36
36
|
* @returns {Object} 回傳物件,其內server為hapi伺服器實體,wsrv為w-converhp的伺服器事件物件,wsds為w-serv-webdata的伺服器事件物件,可監聽error事件
|
|
@@ -39,7 +39,7 @@ import procSettings from './procSettings.mjs'
|
|
|
39
39
|
*
|
|
40
40
|
*
|
|
41
41
|
*/
|
|
42
|
-
function WWebSso(WOrm, url, db, getUserByToken,
|
|
42
|
+
function WWebSso(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser, pathSettings) {
|
|
43
43
|
let instWServHapiServer = null
|
|
44
44
|
|
|
45
45
|
|
|
@@ -71,10 +71,10 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
//check
|
|
75
|
-
if (!isfun(
|
|
76
|
-
console.log('invalid
|
|
77
|
-
throw new Error('invalid
|
|
74
|
+
//check verifyClientUser
|
|
75
|
+
if (!isfun(verifyClientUser)) {
|
|
76
|
+
console.log('invalid verifyClientUser', verifyClientUser)
|
|
77
|
+
throw new Error('invalid verifyClientUser')
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
|
|
@@ -371,8 +371,8 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
|
|
|
371
371
|
// //getTokenUser
|
|
372
372
|
// let userSelf = await getTokenUser(token)
|
|
373
373
|
|
|
374
|
-
// //
|
|
375
|
-
// let b =
|
|
374
|
+
// //verifyClientUser
|
|
375
|
+
// let b = verifyClientUser(userSelf, caller)
|
|
376
376
|
// if (ispm(b)) {
|
|
377
377
|
// b = await b
|
|
378
378
|
// }
|
package/srv.mjs
CHANGED
|
@@ -33,8 +33,8 @@ let getUserByToken = async (token) => {
|
|
|
33
33
|
return {}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
let
|
|
37
|
-
console.log('
|
|
36
|
+
let verifyClientUser = (user, caller) => {
|
|
37
|
+
console.log('verifyClientUser/user', user)
|
|
38
38
|
// return false //測試無法登入
|
|
39
39
|
console.log('於生產環境時得加入限制瀏覽器使用者身份機制')
|
|
40
40
|
return user.isAdmin === 'y' //測試僅系統管理者使用
|
|
@@ -48,7 +48,7 @@ let verifyAppUser = (user, caller) => {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
//WWebSso
|
|
51
|
-
let instWWebSso = WWebSso(WOrm, url, db, getUserByToken,
|
|
51
|
+
let instWWebSso = WWebSso(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser, pathSettings)
|
|
52
52
|
|
|
53
53
|
instWWebSso.on('error', (err) => {
|
|
54
54
|
console.log(err)
|