我正在尝试将pac 4j-http:2.31升级到5.3.1,需要帮助处理Authenticator
接口中validate()
函数的参数列表中的重大更改。
以前我使用的是Authenticator(org.pac4j.core.credentials.authenticator.Authenticator)
,它的方法是public void validate(TokenCredentials credentials, WebContext context)
,现在它改为public void validate(Credentials credentials, WebContext context, SessionStore sessionStore)
前面的代码如下:
private static class TestAuthenticator implements Authenticator<TokenCredentials>
{
@Override
public void validate(TokenCredentials credentials, WebContext context)
{
if (TEST_TOKEN.equals(credentials.getToken()))
{
credentials.setUserProfile(mockUserProfile());
}
}
}
所以我的问题是,如何升级到最新版本的5.3.1.,其中Authenticator
类的validate方法具有Credential
参数而不是TokenCredential
?由于validate方法参数发生了变化,我们现在如何验证令牌?
1条答案
按热度按时间cl25kdpy1#
由于
Credentials
是TokenCredentials
的超类,因此您似乎可以执行以下操作:但是,如果我遗漏了什么,请道歉。看起来泛型类型从
Authenticator
中被删除了,这意味着现在需要一个强制类型转换。