我不要密碼,我要 SSO!
這個 blog 的密碼一直都存在 Firefox 上面,而今次已不知道是第幾次誤操作將 blog 的密碼刪掉了。

這是因為開發的時候我經常用「Forget about this site」這個功能將網站的所有資料去掉,我懷疑這是不是會連存起來的密碼都一起給刪掉。不過不論這是否真確,總之密碼我的確弄丟了好幾次。

加上這個 blog 沒有重設密碼功能,所以每次重設我都得寫個 script 去 hash 個密碼出來在直接更新 db,麻煩死了。

於是現在這個 blog 決定轉用 Azure Active Directory!(aka Azure AD, AAD)

(雖然速度很慢,但並不是要經常登入我就不計較了)

(而且還有完善的管理系統)

這玩意當然會收費,但因為我只有這個 blog 會用,所以免費 plan 已足夠。

實作可花了我一整個禮拜,最初我誤以為這樣每個 request 都得 call 一次 AD 會不會太慢了?畢竟我不可能知道下一刻手上的 token 還有沒有效,所以只能每個動物之前先問一下對面「這東西還有效嗎?」,覺得這不科學。

斟酌了幾天才發現——啊,這個 token 我只用在登入的時候不就好了?不對,應該説這只能用在登入的時候吧?簡單來説我根本不用在意 token 下一刻有效沒有效,當對面一旦認證成功,這邊就將傳回來的用戶 id 直接綁在這邊的用戶上,然後接上原本的流程就可以了。

也就是説我只問對面「這個人登入了嗎?」然後對面回「penguin 登入了。」就好,這跟 SSO 前的狀況,分別就只是我將驗證密碼的部份丟給 AD 做了。

假設這個 token 無效了,這個 session 依然有效其實並不是問題。應該説 token 在認證後就應該立即廢棄,不然別人就可以拿這個 token 登入呢。

以上寫的在 AD 説明書上都有提及,因為我想通了才去看説明書,發現原來有寫的那一刻悲嘆自己又想太多。

不要什麼都用 Library

另外值得一提的地方就是 nodejs 上的陷阱吧?在弄 AzureAD 的 API 時,中途有 JWT 跟 JWK 這兩個 keywords,指的分別是 JSON Web Token 跟 JSON Web Key,一個是 AD 傳回的 token,另一個則是 token 簽證的 key

驗證 token 的方式 node 本身已支援,但我 Google 了大半天都説要用 library,拜託,人家都給了 modulus 跟 exponent 了,無論怎樣都可以弄個 public key 出來吧?怎麼連這都要 library 。説起來連 Microsoft Entra 上面的範例檔也在用 Library,真是夠了。

然後我死都不從,最後試了幾次錯之後,發現居然只要 call createPublicKey 就好了,什麼 library 啊。

不過也可能是 SO 上的解答過時了吧。不管了。

***

最近買了 Braava 抺地機械人,用了幾天後我後悔怎麼不早點買。這玩意實在太神了!手動抺了兩年,説實話每次都弄得我一身疲憊,而且現在是夏天簡直就是煉獄啊。

之前只靠 Roomba 吸塵,然後每個禮拜就手動抺一次地。因為在家赤腳,所以能感受到地板的狀況每天下降。現在 Braava 每天抹所以地板每天都好舒服啊啊!

啊,上面的截圖是 Mac OS 呢。這是因為我的主機換成 M1 的 Mac Studio 了。上一部 Intel NUC 因為過熱而 gg 了,於是我對市面上的小型主機絶望。研究了一輪下定決心改用 Mac Studio。

現在用了差不多一個月吧?這玩意在室温 32℃ 之下完全不會熱,而且很靜!超快!好棒!

不過很多操作都不習慣就是了。由其是左下角的一排按鍵位置都變了,這只能慢慢來了。

也試用了 Visual Studio for Mac,結論是寫 C# 還是應該用 Windows —— 主要是 VsVim 的按鍵好像各種各樣的衝突,不好用。另外就是 Entity Framework 好像好點問題,沒辦法弄 Migration。而且 MAUI 還未支援 Mac,沒辦法 Debug ⋯⋯所以就是各種各樣的不行,所以 VS 開發在 MacOS 上面是不行。

呀但我成功將 MAUI 的 Sample App deploy 到實體 iPhone 上面了,玩了一下不禁覺得 MAUI 是未來啊,運作順暢之餘連 UI 的設計也整合好,不過要我放上 App Store 的話應該不可能吧。每年 99 USD 很痛的。不知道 iPhone 有沒有辦法 Side-load,嘛這不重要。

***

聽説今年各地都在乾旱,曾經遺失在河裹的遺物好像都露出來了。看到整條河都乾涸的畫面讓我想起了 アトリエ 系列,就是整個世界幾乎都沒有水的那個,裏面的場景簡直如出一撤讓我都打起冷顫來了。説起來系列中好像沒見到有全世界都被洪水淹沒的呢。

最近我倒是玩了一個整個世界都沒水淹沒,然後要作為姐姐駕船到處去拿補給品拯救弟弟的遊戲,還滿特別的。

而且這邊每天都在下雨所以也不太懂,是説東江水會斷供嗎?好像也沒聽到水務署要求節水。吸濕機倒是每天都吸兩大桶水,所以到時要節水的話就用吸濕機?不知道吸出來的水能不能喝。

現在世界各地不是洪水就是乾旱,還是是極端的天氣啊。
Profile picture
斟酌 鵬兄
Thu Sep 01 2022 12:35:34 GMT+0000 (Coordinated Universal Time)
Last modified: Thu Sep 01 2022 18:07:44 GMT+0000 (Coordinated Universal Time)
Comments
No comments here.
Do you even comment?
website: 
Not a valid website
Invalid email format
Please enter your email
*Name: 
Please enter a name
Submit
抱歉,Google Recaptcha 服務被牆掉了,所以不能回覆了