技能 Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents (.NET)
🔐

Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents (.NET)

安全

建置 Azure Functions 用於 Entra ID 驗證事件

使用 Azure Functions 實作 Microsoft Entra ID 的自訂驗證擴充功能。將自訂宣告新增至權杖、在註冊期間驗證使用者屬性,並透過自訂通道傳遞 OTP 驗證碼。

支援: Claude Codex Code(CC)
🥉 72 青銅
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents (.NET)」。 建立函式以在權杖發行期間新增部門和員工 ID 宣告

預期結果:

產生 WebJobsTokenIssuanceStartResponse,其中包含具有部門和員工 ID 字典宣告的 WebJobsProvideClaimsForToken 動作,包括用於追蹤使用者 ID 和相互關聯 ID 的記錄。

正在使用「Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents (.NET)」。 撰寫封鎖暫時性電子郵件網域的屬性收集驗證

預期結果:

產生 WebJobsAttributeCollectionSubmitResponse,其中包含網域驗證邏輯、用於封鎖網域的 WebJobsShowBlockPage 動作,以及用於有效提交(具有修剪過的顯示名稱)的 WebJobsModifyAttributeValues。

正在使用「Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents (.NET)」。 透過 SMS 實作 OTP 傳遞

預期結果:

產生 WebJobsOnOtpSendResponse,其中包含 SendSmsAsync 整合、成功傳遞時的 WebJobsOnOtpSendSuccess 動作,以及發生例外時具有錯誤詳細資料的 WebJobsOnOtpSendFailed 動作。

安全審計

安全
v1 • 2/25/2026

Prompt-only documentation skill for Microsoft Azure WebJobs Authentication Events SDK. No executable code detected. Static analysis scanned 0 files with 0 security findings. This skill provides reference documentation and code examples for implementing Azure Functions triggers for Entra ID authentication events including token issuance, attribute collection, and OTP delivery. Safe to publish as educational content.

0
已掃描檔案
0
分析行數
0
發現項
1
審計總數
未發現安全問題
審計者: claude

品質評分

38
架構
100
可維護性
87
內容
50
社群
100
安全
74
規範符合性

你能建構什麼

授權的權杖豐富化

在使用者登入期間,將部門、員工 ID 和角色等自訂宣告新增至存取權杖。在下游 API 中使用這些宣告進行授權決策,無需額外的資料庫查詢。

自訂使用者註冊驗證

在自助服務註冊流程期間驗證使用者屬性提交。封鎖來自某些網域的註冊、強制執行密碼複雜度要求,或在帳戶建立之前需要額外的驗證步驟。

自訂 OTP 傳遞通道

使用自訂 SMS 提供者、電子郵件服務或推播通知取代預設的 Microsoft OTP 傳遞。為多因素驗證實作自訂格式、速率限制和傳遞追蹤。

試試這些提示

基本權杖宣告函式
建立一個 Azure Function,在 Entra ID 登入期間將自訂宣告新增至權杖。包含部門、員工 ID 和成本中心的宣告。
屬性收集驗證
撰寫 Azure Function 來驗證屬性收集提交內容。封鎖來自暫時性電子郵件網域的註冊,並確保顯示名稱至少 3 個字元。
外部資料權杖豐富化
建立權杖發行函式,從外部 API 擷取使用者角色並將其新增為宣告。包含 API 失敗的錯誤處理和快取邏輯。
使用 Twilio 整合的自訂 OTP
使用 Twilio 實作 OTP 傳送事件處理常式以進行 SMS 傳遞。包含錯誤處理、記錄,以及成功和失敗案例的回應動作。

最佳實務

  • 務必在處理前驗證要求資料 - 永遠不要信任 userId 或 OTP 值存在
  • 擲回例外狀況以避免封鎖驗證流程,應改為傳回空的回應物件
  • 記錄來自 AuthenticationContext 的相互關聯 ID,以針對失敗的驗證事件進行疑難排解
  • 快取外部 API 回應以避免驗證事件處理常式逾時

避免

  • 不要在驗證事件處理常式中擲回例外狀況 - 傳回空回應以允許驗證繼續進行
  • 避免使用慢速的外部 API 呼叫封鎖主執行緒 - 使用非同步模式並實作快取
  • 永遠不要硬編碼 API 金鑰或連接字串 - 使用 Azure Key Vault 或受控識別以確保安全存取

常見問題

如果我的驗證事件函式擲回例外狀況,會發生什麼事?
驗證流程可能完全失敗。務必將邏輯包裝在 try-catch 區塊中,並在發生錯誤時傳回空回應物件,以允許驗證在沒有自訂邏輯的情況下繼續進行。
我可以修改已新增至權杖的宣告嗎?
不行。宣告只能在權杖發行之前的 OnTokenIssuanceStart 事件期間新增。發行後,權杖宣告在下次驗證事件之前都是不可變的。
驗證事件函式的逾時限制是多少?
驗證事件必須快速完成,通常在幾秒鐘之內。長時間執行的作業(如資料庫查詢)應使用快取或非同步模式以避免逾時。
我需要為自訂驗證擴充功能註冊應用程式註冊嗎?
是的。您必須在 Entra ID 中註冊應用程式,使用正確的範圍(CustomAuthenticationExtension.Receive.Payload)公開 API,並設定自訂驗證擴充功能指向您的 Function App URL。
我可以將此 SDK 與同進程 Azure Functions 模型搭配使用嗎?
顯示的範例適用於隔離背景工作模型。SDK 也支援同進程模式,但需要在 Startup 類別中使用不同的初始化模式。
我如何在本機測試驗證事件函式?
使用 Azure Functions Core Tools 在本機執行,然後透過 HTTP 傳送符合 WebJobsTokenIssuanceStartRequest 或 WebJobsAttributeCollectionStartRequest 結構的範例 JSON 酬載,或使用單元測試直接測試函式方法。