發表文章

目前顯示的是有「.NET Core」標籤的文章

使用 MCP Server 打造企業內部人才搜尋工具 (使用 .NET 10)

圖片
AI 能協助我們處理例行事務的運用越來越多,除了單純的對話外,AI Agent 更能主動幫我們做事情,但如果希望你的 AI Agent 能夠回頭參考公司內部的資料在進行下一步的工作呢?這時候 MCP (Model Context Protocol) 就扮演了關鍵的角色。 這篇文章我要實作一個簡單的 MCP Server,模擬一個企業內部的人才搜尋工具,讓 AI Client 端也可以透過這個 Server 來查詢員工的工作經歷。 什麼是 MCP (Model Context Protocol)? MCP 的歷史背景網路上很多,有興趣的可以自己查一下,我這邊就不重複貼上了 😅  。簡單來說,MCP 是一個標準化的協定,用來連接 AI 模型 (MCP Client) 與 資料來源/工具 (MCP Server)。 想像一下我們如果要讓 AI 存取外部資料,可能需要寫特定的 Plugin 或 Function Calling,但麻煩的是每家 AI 的實作方式可能都不太一樣,所以我們有可能就要針對各 AI 平台寫各自的存取介面。 MCP 的出現就是為了解決這個問題,讓開發者只要寫一個程式,就能被支援 MCP 的各種 Client (如 Claude Desktop, Cursor, 或 Github Copilot) 使用,其流程大概如下圖。

使用 NET Core 建置 SAML2 SSO 站台 - 整合應用程式(SP)

了解了的 SAML 的基本概念 和 完成了 Okta 身分驗證服務商設定 ,本文將記錄如何將 SAML 2.0 登入功能整合到您的 Web 應用程式中,常見的 Web 網站分為傳統的 WebForm(即每次點擊會刷新整個頁面)和 SPA(單頁應用程式)搭配 API 的方式。 因為 SPA 牽涉到的範圍比較複雜,後續有機會我會在這篇文章中補充相關內容,在這篇文章中,我將使用 .NET Core 8 MVC 框架 ,並使用 ITfoxtec.Identity.Saml2、ITfoxtec.Identity.Saml2.MvcCore 這兩個套件來為來為網站加上 SAML 2.0 的功能。

幫自己的 NET.Core 站台加上 TOTP 雙因子驗證吧

圖片
前言 最近公司正在規劃明年要幫資訊系統全面導入 MFA,為此 Infra 部門如火如荼的進行了一連串的可行性評估,並找了一些在做身分認證系統服務的 SaaS 服務廠商來展示系統功能,這才讓我想起之前一直想要幫自己的後台加上手機 OTP 驗證的功能,這篇文章我要記錄一下實作過程的筆記,但在開始之前得先大概了解一下何謂 2FA、MFA、OTP,以及它們之間的關係。

使用 NET.Core 進行 LDAP 物件屬性驗證

圖片
情境說明 從我開始寫程式以來,LDAP 這項技術就一直存在,但對於缺乏 Infrastructure 背景的我來說,過往的知識都僅侷限在使用程式進行 Active Directory(AD)驗證,如 DN、CN、OU、DC 等相關術語,老實說我從未真正深入了解過(有點心虛)。 最近開發一個小需求,需要驗證使用者輸入的郵件是否存在的功能,在開發過程中出現了一個奇怪的現象:只要透過程式登入,外部網路就會斷線。經過 Infra 部門的查詢,他們發現防火牆(PA)的設定導致了這個問題。公司的政策限制了部分帳號的對外網路存取權限,但這次的問題是,程式綁定了一組可以查詢 AD 資料的帳號後,防火牆政策誤判我的開發機使用的是那一組沒有對外網路存取權限的帳號,因而封鎖了對外網路的存取權限。 這對開發人員來說,造成了一些困擾,因為每次都需要關閉所有開發工具,並登出重新登入,因此也趁此次機會,我決定在虛擬機(VM)上認真地建立一個AD,以滿足我的開發需求,同時也趁這個機會深入了解 LDAP 的運作原理。

[工具] 批次產生 QR Code 電子名片

圖片
QRCode 電子名片是什麼?  QRCode 電子名片是一種方便快捷的方式,讓您可以將您的聯絡方式以 QRCode 的形式分享給他人。這個 QRCode 可以包含您的姓名、職稱、公司名稱、電話號碼、電子郵件地址等聯絡資訊。當他人掃描這個QR碼時,這些資訊就會自動地添加到他們的手機聯絡人中,而無需手動輸入。 它的技術術語稱為 "MeCard" 二維條碼,是一種標準的電子名片格式,不知道這是什麼的人請自行 Google 一下,它可以包含各種聯絡資訊。通常,這個格式可以被大多數智能手機和電子郵件客戶端所識別和使用。 目前訪間已經有許多現有的 Web 服務,上傳人員的名片資料後會產生類似下圖的電子名片,但大多數是要註冊會員,大量使用甚至需要收費,而且可能會把員工的個資留在這些 SaaS 廠商的平台上。

使用 NET.Core 串接 Google Analytics API 來顯示即時分析數據

圖片
當我們建立服務型網站時,通常希望能夠獲得來訪者的相關資訊,一種常見的土炮方法是在網頁上自行開發程式以取得使用者的相關資訊,但我們所能取得的資訊有限,很多數據可能需要後續處理,例如使用者的國家別,甚至可能沒辦法取得,因此分析起來可能相對不夠完整,身為開發者應該都知道不要重複造輪子,而且現有的分析工具眾多,基於站在巨人的肩膀上的原則,當然很自然的選擇 Google 提供的服務。 Google Analytics(GA) 是由 Google 提供的網站流量統計服務,只要在想要監控的網頁加入 GA 提供的一小段 JavaScript 代碼,每當用戶訪問該頁面時,就會將相關資訊如使用者所在國家、進入該頁面的關鍵字等傳送至 GA 伺服器,並整合成易讀的報表供網站擁有者查看。 另外,GA4 還提供了多種預設的分析報表,並且還可以自訂不同的分析維度,下圖展示了登入後可見的其中一個數據畫面,網路上有許多專家分享如何使用 GA4,這裡就不再贅述,建議自行查找相關資料以了解如何使用 GA4。

[ISO 27001] 其它 Http Headers 相關議題

圖片
ISO 27001 這一系列的文章,是在記錄被弱點掃描報告列出的問題修正。 受影響的條款 12.5.1 Installation of soft ware on operational systems Content Security Policy (CSP) not implemented Permissions-Policy header not implemented HTTP Strict Transport Security (HSTS) not implemented 檢測網站設定 下圖是尚未改善前,使用 Security Headers 網站 來進行檢測的結果。

[ISO 27001] Cookie 相關議題

圖片
ISO 27001 這一系列的文章,是在記錄被弱點掃描報告列出的問題修正。 受影響的條款 12.5.1 Installation of soft ware on operational systems。  Cookies with missing, inconsistent or contradictory properties Cookies without HttpOnly flag set Cookies without Secure flag set

[開發環境] NetCore 站台套用 Single Sign-On 登入機制

圖片
單一登入(Single Sign-On,簡稱SSO)是一種身份驗證技術,它允許使用者在訪問多個應用程式或系統時只需通過一次身份驗證就能夠登入,也就是說使用者只需要輸入一次他們的帳號和密碼,就能夠輕鬆地存取各種應用程式,而無需反覆輸入驗證資訊。 本文的目的就是在於記錄如何實現在 .Net Core 站台中,直接驗證使用者當前登入的 Windows 電腦帳號的相關設定及程式碼,相關說明如下

[工具] 使用 Google Cloud API (Text To Speech) 將文字轉換成 mp3 輸出

朋友任職的公司先前請我幫忙開發一個小程式,把文字稿轉成 MP3 的小需求,還希望可以選擇講話的聲音和語速,當下的直覺就是使用 Google 提供的 API 應該就可以達到了。 簡單的說明一下  Google Cloud Text To Speech   的 POC 功能說明,這個程式共開發成 Node.js 和 NET Core 兩個版本,在使用前必須先設定一些參數(詳細的說明我有寫在 Github 上的 readme 文件了),在完成基本設定後,開啟程式會呼叫 Google Cloud Text-to-Speech API,將文字轉換成語音並輸出成 mp3 檔案。 但後來把 POC 的功能提供給他確認後,他的機車老闆說不要這個功能了,哭哭 😈,只好 Open Source 給需要的人了,需要的請至下方連結自取。 NetCore 版本 範例下載 NodeJS 版本 範例下載