@Override public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject) throws AuthException { return serverAuthModule.validateRequest(messageInfo, clientSubject, serviceSubject); }
@Override public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { serverAuthModule.cleanSubject(messageInfo, subject); }
@Override public AuthStatus secureResponse(MessageInfo messageInfo, Subject serviceSubject) throws AuthException { return serverAuthModule.secureResponse(messageInfo, serviceSubject); }
public TestServerAuthContext(CallbackHandler handler, ServerAuthModule serverAuthModule) throws AuthException { this.serverAuthModule = serverAuthModule; serverAuthModule.initialize(null, null, handler, Collections.<String, String> emptyMap()); }
public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for (ClientAuthModule clientAuthModule : clientAuthModules) { clientAuthModule.cleanSubject(messageInfo, subject); } }
/** * Test that the request and response messages in the supplied {@link MessageInfo} are compatible * * @param messageInfo the {@link MessageInfo} to test is compatible with the {@link ServerAuthModule} instances. * @throws IllegalArgumentException */ void testMessageInfo(MessageInfo messageInfo) throws IllegalArgumentException { Object requestMessage = messageInfo.getRequestMessage(); Object responseMessage = messageInfo.getResponseMessage(); for (AuthModuleWrapper wrapper : authModules) { ServerAuthModule sam = wrapper.getModule(); boolean requestAccepted = false; boolean responseAccepted = false; for (Class acceptedType : sam.getSupportedMessageTypes()) { if (acceptedType.isInstance(requestMessage)) requestAccepted = true; if (acceptedType.isInstance(responseMessage)) responseAccepted = true; if (responseAccepted && requestAccepted) { break; } } if (requestAccepted == false) throw log.unsupportedMessageType(requestMessage.getClass().getName(), sam.getClass().getName()); if (responseAccepted == false) throw log.unsupportedMessageType(responseMessage.getClass().getName(), sam.getClass().getName()); } }
/** * @see javax.security.auth.message.ServerAuth#cleanSubject(javax.security.auth.message.MessageInfo, javax.security.auth.Subject) */ @Override public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { assert initialised : "Not initialised"; if (messageInfo instanceof ElytronMessageInfo) ((ElytronMessageInfo) messageInfo).setState(State.CLEAN); for (int i = authModules.size() - 1; i > 0; i--) { ServerAuthModule sam = authModules.get(i).getModule(); sam.cleanSubject(messageInfo, subject); } }
final Object originalResponse = messageInfo.getResponseMessage(); final AuthStatus currentResult = sam.validateRequest(messageInfo, clientSubject, serviceSubject);
/** * @see javax.security.auth.message.ServerAuth#secureResponse(javax.security.auth.message.MessageInfo, javax.security.auth.Subject) */ @Override public AuthStatus secureResponse(MessageInfo messageInfo, Subject serviceSubject) throws AuthException { assert initialised : "Not initialised"; if (messageInfo instanceof ElytronMessageInfo) ((ElytronMessageInfo) messageInfo).setState(State.SECURE); AuthStatus result = null; for (int i = authModules.size() - 1; i >= 0; i--) { ServerAuthModule sam = authModules.get(i).getModule(); AuthStatus currentResult = sam.secureResponse(messageInfo, serviceSubject); if (currentResult == null || currentResult == AuthStatus.SUCCESS || currentResult == AuthStatus.FAILURE) { throw log.invalidAuthStatus(currentResult, sam.getClass().getName()); } if (result == null || toIndex(currentResult) > toIndex(result)) { result = currentResult; } if (currentResult == AuthStatus.SEND_FAILURE) { break; } } return result; }
void initialise(final Subject serviceSubject, final CallbackHandler callbackHandler, final Map properties) throws AuthException { assert initialised == false : "Already initialised"; this.serviceSubject = serviceSubject; for (AuthModuleWrapper wrapper : authModules) { ServerAuthModule sam = wrapper.getModule(); Map combined = new HashMap(properties); combined.putAll(wrapper.getOptions()); // TODO Pass in appropriate MessagePolicy instances. // TODO MessagePolicy is actually defined in 3.7.4 sam.initialize(null, null, callbackHandler, combined); } initialised = true; }
@Override public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for (ClientAuthModule cam : modules) { cam.cleanSubject(messageInfo, subject); } }
@Override public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for (ServerAuthModule module : modules) { module.cleanSubject(messageInfo, subject); } } }
@Override public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject) throws AuthException { return serverAuthModule.validateRequest(messageInfo, clientSubject, serviceSubject); }
/** * @see ServerAuth#secureResponse(AuthParam, Subject, Map) */ public AuthStatus secureResponse(MessageInfo messageInfo, Subject serviceSubject) throws AuthException { AuthStatus status = null; for(ServerAuthModule sam:modules) { status = sam.secureResponse(messageInfo, serviceSubject); } return status; }
/** * @see ServerAuthContext#cleanSubject(javax.security.auth.message.MessageInfo, javax.security.auth.Subject) */ public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for(ServerAuthModule sam:modules) { sam.cleanSubject(messageInfo, subject); } }
@Override public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject) throws AuthException { return serverAuthModule.validateRequest(messageInfo, clientSubject, serviceSubject); }
/** * @see ServerAuthContext#secureResponse(javax.security.auth.message.MessageInfo, javax.security.auth.Subject) */ public AuthStatus secureResponse(MessageInfo messageInfo, Subject serviceSubject) throws AuthException { AuthStatus status = null; for(ServerAuthModule sam:modules) { status = sam.secureResponse(messageInfo, serviceSubject); } return status; }
public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for (ServerAuthModule serverAuthModule : serverAuthModules) { serverAuthModule.cleanSubject(messageInfo, subject); } }
/** * @see ServerAuth#cleanSubject(Subject, Map) */ public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for(ServerAuthModule sam:modules) { sam.cleanSubject(messageInfo, subject); } }
@Override public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException { for (ServerAuthModule module : modules) { module.cleanSubject(messageInfo, subject); } } }