1 回答

TA貢獻2012條經(jīng)驗 獲得超12個贊
要檢索其他輸入,請向模塊添加另一個狀態(tài)。
<ModuleProperties moduleName="MyAuth" version="1.0" >
<Callbacks length="0" order="1" timeout="600" header="#NOT SHOWN#" template="readme.html"/>
<Callbacks length="2" order="2" timeout="600" header="#TO BE SUBSTITUTED#">
<NameCallback isRequired="true" >
<Prompt>Username</Prompt>
</NameCallback>
<PasswordCallback echoPassword="false" >
<Prompt>Password</Prompt>
</PasswordCallback>
</Callbacks>
<Callbacks length="1 order="3" timeout="600" header="#TO BE SUBSTITUTED#">
<NameCallback isRequired="true" >
<Prompt>Additional Input</Prompt>
</NameCallback>
</Callbacks>
</ModuleProperties>
處理auth模塊代碼中的狀態(tài)
public class MyAuth extends AMLoginModule {
// same code here
@Override
public int process(Callback[] callbacks, int state) throws LoginException {
//same code logic here
switch (state) {
case AUTHENTICATE:
return GET_ADDITIONAL_DATA;
//...
case GET_ADDITIONAL_DATA:
final String additionalData = ((NameCallback) callbacks[0]).getName();
// handle additional data
}
}
}
添加回答
舉報