本文介紹了密鑰罩添加新的驗(yàn)證碼的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我想在keyloak中添加一個(gè)新的auth方法。準(zhǔn)確地說,我希望密鑰罩向外部API請(qǐng)求一些特定值。我讀過有關(guān)鑰匙斗篷中的流程,但它們的記錄似乎很少,而且我有一種感覺,它不是很直觀。
在登錄期間,我希望密鑰罩向外部API發(fā)送請(qǐng)求,并且當(dāng)且僅當(dāng)返回特定值時(shí)才允許用戶登錄。例如,我可以覆蓋一些登錄方法,然后添加幾行代碼來做我想做的事情。
哪個(gè)類使用哪種方法負(fù)責(zé)登錄?
推薦答案
要實(shí)現(xiàn)此目標(biāo),您需要執(zhí)行多項(xiàng)操作。我會(huì)仔細(xì)檢查一下:
-
實(shí)現(xiàn)Authenticator和AuthenticatorFactory接口。
復(fù)制現(xiàn)有身份驗(yàn)證流
綁定流
我假設(shè)您知道如何編寫和部署密鑰罩?jǐn)U展。
1.實(shí)現(xiàn)Authenticator和AuthenticatorFactory接口。
具體接口為:
org.keycloak.authentication.AuthenticatorFactory
org.keycloak.authentication.Authenticator
示例實(shí)現(xiàn):
org.keycloak.authentication.authenticators.browser.UsernamePasswordFormFactory
org.keycloak.authentication.authenticators.browser.UsernamePasswordForm
如果要外部化配置(以便可以為外部API添加用戶名/密碼等),請(qǐng)重寫AuthenticatorFactory
中的getConfigProperties()
方法
2.復(fù)制現(xiàn)有身份驗(yàn)證流。
-
使用管理員憑據(jù)登錄密鑰罩。
創(chuàng)建新領(lǐng)域(如果有,請(qǐng)使用)
轉(zhuǎn)到左側(cè)的”身份驗(yàn)證”選項(xiàng)卡。
復(fù)制瀏覽器登錄流程
添加您的流/執(zhí)行(您的Authenticator/Factory實(shí)現(xiàn)將列在Executions下)
您可以向上或向下移動(dòng)它們。使它們成為必需的或可供選擇的等等。
如果覆蓋配置列表,它將顯示在您的執(zhí)行旁邊
3.綁定流。
在身份驗(yàn)證頁面的第二個(gè)選項(xiàng)卡中綁定流。
這篇關(guān)于密鑰罩添加新的驗(yàn)證碼的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,