我有要求在我的API中允許模仿(「充當」)。因此具有適當權限的用戶可以作爲另一個用戶來使用API。我想知道這個領域是否有一些具體的策略?爲RESTful API尋找身份驗證/模擬策略
我可以創建一個端點來開始和結束模擬。開始模擬可能涉及獲取用戶及其權限,並將其加載到內存中以用於當前請求,這很容易。隨後的要求呢?添加指示「模擬用戶」的HTTP標頭是否是不正確的做法?如果該標題存在,請使用它對隨後的請求進行身份驗證?如何使用該UserId的cookie?還是附加信息?
是否有額外的好處(假設.NET impl)將模擬用戶分配給Thread.CurrentPrincipal?當前的權限和角色實現是自定義的,基本上使用了一個位數組(儘管這是在將來的變化中)。