瞭解如何使用權限政策來控管目標對像管理,或是設定 .well-known 權限網址,以便委派給第三方。
joinAdInterestGroup()
的呼叫情境來源必須與興趣群組擁有者的來源相符,因此除非興趣群組擁有者的來源與目前文件的來源相符 (例如具有專屬興趣群組的網站),否則必須透過 iframe (例如 DSP) 呼叫 joinAdInterestGroup()
。
「joinAdInterestGroup()
」需要下列權限:
- 造訪的網站
- 興趣群組擁有者
因此您無法在未dsp.example.com
授予權限的情況下,malicious.example
呼叫 joinAdInterestGroup()
為 dsp.example.com
擁有的興趣群組呼叫 。
造訪網站的權限
您可以從同一來源或跨來源授予權限。
根據預設,系統會針對造訪網站的相同來源 (也就是與目前網頁的頂層頁框相同的來源) 發出 joinAdInterestGroup()
呼叫,藉此獲得權限。網站可以使用 join-ad-interest-group
權限政策標頭停用 joinAdInterestGroup()
呼叫。
只有在使用者造訪的網站設有權限政策,允許從跨來源 iframe 呼叫 joinAdInterestGroup()
的情況下,跨來源 (與目前頁面不同的來源) 才能成功呼叫 joinAdInterestGroup()
。
來自興趣群組擁有者的權限
只要從與興趣群組擁有者相同來源的 iframe 呼叫 joinAdInterestGroup()
,即可明確授予興趣群組擁有者權限。舉例來說,dsp.example.com
iframe 可以對 dsp.example.com
擁有的興趣群組呼叫 joinAdInterestGroup()
。
基本上,joinAdInterestGroup()
可在擁有者網域的網頁或 iframe 中執行,或者由 .well-known
網址的清單委派給其他網域。
當頁框前往某個網域時,針對不同擁有者的興趣群組呼叫 joinAdInterestGroup()
、leaveAdInterestGroup()
或 clearOriginJoinedAdInterestGroups()
,瀏覽器會擷取網址 https://owner.domain/.well-known/interest-group/permissions/?origin=frame.origin
,其中 owner.domain
是興趣群組所屬的網域,frame.origin
則是頁框的來源。擷取作業會使用叫用方法的影格網路分區金鑰,透過省略憑證模式。為避免透過傳回的 Promise 意外洩露跨來源資料,擷取作業會使用 cors 模式。擷取的回應應採用 JSON MIME 類型,格式如下:
{ "joinAdInterestGroup": true/false,
"leaveAdInterestGroup": true/false
}
指出路徑中的來源是否有權加入或退出要求所在網域擁有的興趣群組。系統會將缺少的權限假設為 false。由於 lifetimeMs
為 0 的 navigator.joinAdInterestGroup()
會有效離開興趣群組,因此 joinAdInterestGroup: true
也允許來源呼叫 navigator.leaveAdInterestGroup()
,即使缺少 leaveadInterestGroup
或將其設為 false 也一樣。請注意,leaveAdInterestGroup()
和 clearOriginJoinedAdInterestGroups()
都會檢查 leaveAdInterestGroup
權限。