w-web-sso 1.0.11 → 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/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, verifyBrowserUser, verifyAppUser, pathSettings<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object}</span></h4>
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"> &rarr; {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>verifyBrowserUser</code></td>
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 Fri Jun 06 2025 11:21:58 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
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>
@@ -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} verifyBrowserUser 輸入驗證瀏覽使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
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, verifyBrowserUser, verifyAppUser, pathSettings) {
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 verifyBrowserUser
122
- if (!isfun(verifyBrowserUser)) {
123
- console.log('invalid verifyBrowserUser', verifyBrowserUser)
124
- throw new Error('invalid verifyBrowserUser')
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
- // //verifyBrowserUser
422
- // let b = verifyBrowserUser(userSelf, caller)
421
+ // //verifyClientUser
422
+ // let b = verifyClientUser(userSelf, caller)
423
423
  // if (ispm(b)) {
424
424
  // b = await b
425
425
  // }
@@ -599,13 +599,13 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
599
599
  // },
600
600
  // },
601
601
 
602
- {
603
- method: 'GET',
604
- path: '/getWebInfor',
605
- handler: async function (req, res) {
606
- return getWebInfor()
607
- },
608
- },
602
+ // {
603
+ // method: 'GET',
604
+ // path: '/getWebInfor',
605
+ // handler: async function (req, res) {
606
+ // return getWebInfor() //bbb 應該已不用, 前端載入通訊器後由$fapi.getWebInfor呼叫
607
+ // },
608
+ // },
609
609
 
610
610
  {
611
611
  method: 'GET',
@@ -754,9 +754,13 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
754
754
  port: opt.serverPort,
755
755
  pathStaticFiles,
756
756
  apis,
757
+ verifyConn: () => {
758
+ return true
759
+ },
757
760
  getUserIdByToken: async (token) => { //可使用async或sync函數
758
761
  return ''
759
762
  },
763
+ corsOrigins: ['*'],
760
764
  useDbOrm: false,
761
765
  // kpOrm: woItems,
762
766
  // operOrm: procOrm, //procOrm的輸入為: userId, tableName, methodName, input
@@ -825,7 +829,7 @@ export default WWebSso
825
829
  <br class="clear">
826
830
 
827
831
  <footer>
828
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Fri Jun 06 2025 11:21:58 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
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.
829
833
  </footer>
830
834
 
831
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 Fri Jun 06 2025 11:21:58 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
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,15 +1,15 @@
1
1
  {
2
2
  "name": "w-web-sso",
3
- "version": "1.0.11",
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.9",
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",
11
11
  "w-data-collector": "^1.0.22",
12
- "w-serv-hapi": "^1.0.56",
12
+ "w-serv-hapi": "^1.0.57",
13
13
  "w-serv-orm": "^1.0.26",
14
14
  "w-ui-loginout": "^1.0.9",
15
15
  "wsemi": "^1.7.92"
@@ -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} verifyBrowserUser 輸入驗證瀏覽使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
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, verifyBrowserUser, verifyAppUser, pathSettings) {
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 verifyBrowserUser
75
- if (!isfun(verifyBrowserUser)) {
76
- console.log('invalid verifyBrowserUser', verifyBrowserUser)
77
- throw new Error('invalid verifyBrowserUser')
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
- // //verifyBrowserUser
375
- // let b = verifyBrowserUser(userSelf, caller)
374
+ // //verifyClientUser
375
+ // let b = verifyClientUser(userSelf, caller)
376
376
  // if (ispm(b)) {
377
377
  // b = await b
378
378
  // }
@@ -552,13 +552,13 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
552
552
  // },
553
553
  // },
554
554
 
555
- {
556
- method: 'GET',
557
- path: '/getWebInfor',
558
- handler: async function (req, res) {
559
- return getWebInfor()
560
- },
561
- },
555
+ // {
556
+ // method: 'GET',
557
+ // path: '/getWebInfor',
558
+ // handler: async function (req, res) {
559
+ // return getWebInfor() //bbb 應該已不用, 前端載入通訊器後由$fapi.getWebInfor呼叫
560
+ // },
561
+ // },
562
562
 
563
563
  {
564
564
  method: 'GET',
@@ -707,9 +707,13 @@ function WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser
707
707
  port: opt.serverPort,
708
708
  pathStaticFiles,
709
709
  apis,
710
+ verifyConn: () => {
711
+ return true
712
+ },
710
713
  getUserIdByToken: async (token) => { //可使用async或sync函數
711
714
  return ''
712
715
  },
716
+ corsOrigins: ['*'],
713
717
  useDbOrm: false,
714
718
  // kpOrm: woItems,
715
719
  // operOrm: procOrm, //procOrm的輸入為: userId, tableName, methodName, input
package/src/main.js CHANGED
@@ -51,10 +51,9 @@ Vue.directive('domdragdrop', domDragDrop())
51
51
  // let bFirstSync = false
52
52
  WServHapiClient({
53
53
  showLog: false,
54
- getUrl: () => {
55
- return window.location.origin + window.location.pathname
56
- },
54
+ url: window.location.origin + window.location.pathname,
57
55
  useWaitToken: false,
56
+ apiName: 'api',
58
57
  getToken: () => {
59
58
  let token = get(Vue.prototype, `$store.state.userToken`, '')
60
59
  // console.log('getToken', token)
package/srv.mjs CHANGED
@@ -33,8 +33,8 @@ let getUserByToken = async (token) => {
33
33
  return {}
34
34
  }
35
35
 
36
- let verifyBrowserUser = (user, caller) => {
37
- console.log('verifyBrowserUser/user', user)
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,13 +48,16 @@ let verifyAppUser = (user, caller) => {
48
48
  }
49
49
 
50
50
  //WWebSso
51
- let instWWebSso = WWebSso(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser, pathSettings)
51
+ let instWWebSso = WWebSso(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser, pathSettings)
52
52
 
53
53
  instWWebSso.on('error', (err) => {
54
54
  console.log(err)
55
55
  })
56
56
 
57
-
58
- //http://localhost:8080/?view=backstage
57
+ //測試
58
+ //http://localhost:8080/ => 登入後轉至指定頁
59
+ //http://localhost:8080/?token=sys => 網址給予token但不使用, 登入後轉至指定頁
60
+ //http://localhost:8080/?view=backstage => 登入後轉至後台
61
+ //http://localhost:8080/?view=backstage&token=sys => 網址給予token但不使用, 登入後轉至後台
59
62
 
60
63
  //node srv.mjs