外部腳本
在這個(gè)認(rèn)證模塊中,當(dāng)ejabberd啟動(dòng),它將啟動(dòng)一個(gè)腳本去調(diào)用它的認(rèn)證任務(wù).
服務(wù)管理員可以使用任何的變成語言去編寫外部腳本,ejabberd與腳本之間的接口詳情的描述在ejabberd開發(fā)指南中. 這里也有一些認(rèn)證腳本的實(shí)例. 鏈接:https://www.ejabberd.im/extauth
這里是一些特殊的選項(xiàng):
**extauth_program:PathToScript
**
**
**
這個(gè)選項(xiàng)表示外部腳本的全路徑. 腳本必須是ejabberd能夠執(zhí)行的.
**extauth_instances:Integer
**
**
**
表示在虛擬主機(jī)中同時(shí)運(yùn)行認(rèn)證請(qǐng)求的腳本實(shí)例的數(shù)量,默認(rèn)值最小為1.
**extauth_cache:false|CacheTime Integer
**
默認(rèn)值為false 禁用緩存功能, 值為0開啟統(tǒng)計(jì)緩存,但是不能使用它緩存的信息去認(rèn)證用戶荒辕,如果設(shè)置其它值,則開啟統(tǒng)計(jì)和認(rèn)證兩個(gè): CacheTimeInteger 表示的秒數(shù)ejabberd可以重用認(rèn)證信息,由于用戶已經(jīng)斷開連接,去重新驗(yàn)證用戶犹褒,不用重新去查詢外部認(rèn)證腳本.
注意:在一個(gè)主機(jī)如果內(nèi)部認(rèn)證被啟動(dòng)緩存則不應(yīng)該啟用. 如果緩存已啟用, mod_last 必須也要在它的vhost中啟用.
**實(shí)例
**
這個(gè)外部認(rèn)證的設(shè)置了抵窒,外部腳本, 開啟緩存為10分鐘, 還有在ejabberd中為每個(gè)虛擬主機(jī)聲明了3個(gè)腳本實(shí)例.
auth_method: [external]
extauth_program: "/etc/ejabberd/JabberAuth.class.php"
extauth_cache: 600
extauth_instances: 3