Example usage for javax.security.auth.message AuthStatus FAILURE

List of usage examples for javax.security.auth.message AuthStatus FAILURE

Introduction

In this page you can find the example usage for javax.security.auth.message AuthStatus FAILURE.

Prototype

AuthStatus FAILURE

To view the source code for javax.security.auth.message AuthStatus FAILURE.

Click Source Link

Document

Indicates that the message processing by the authentication module was NOT successful, and that the module replaced the application message with an error message.

Usage

From source file:net.java.jaspicoil.SimpleBasicServerAuthModule.java

private AuthStatus sendErrorAndFail(HttpServletRequest request, HttpServletResponse response, String message) {
    response.setHeader(AUTHENTICATE_HEADER, createAuthenticateValue(getRealm(request)));
    response.setStatus(HttpServletResponse.SC_FORBIDDEN);
    LOG.fine(message);/*w  ww  .  j  a v a 2s .c  o  m*/
    return AuthStatus.FAILURE;
}

From source file:com.yoshio3.modules.AzureADServerAuthModule.java

private AuthStatus getAuthResultFromServerAndSetSession(Subject clientSubject, HttpServletRequest httpRequest,
        Map<String, String> params, String currentUri) {
    try {//from ww  w .ja v a2  s . c  o  m
        String fullUrl = currentUri
                + (httpRequest.getQueryString() != null ? "?" + httpRequest.getQueryString() : "");
        AuthenticationResponse authResponse = AuthenticationResponseParser.parse(new URI(fullUrl), params);
        //params ?? error ???????AuthenticationErrorResponse
        // if there is an error key in params, return AuthenticationErrorResponse
        //??? AuthenticationSuccessResponse ?
        // if it was successful, return AuthenticationSuccessResponse

        //??????
        // if authentication was successful
        if (authResponse instanceof AuthenticationSuccessResponse) {
            //???????
            // obtain the result from the response and save it in the session

            AuthenticationSuccessResponse authSuccessResponse = (AuthenticationSuccessResponse) authResponse;
            AuthenticationResult result = getAccessToken(authSuccessResponse.getAuthorizationCode(),
                    currentUri);
            AzureADUserPrincipal userPrincipal = new AzureADUserPrincipal(result);
            setSessionPrincipal(httpRequest, userPrincipal);

            //?
            // set the user principal
            String[] groups = getGroupList(userPrincipal);
            System.out.println(": " + Arrays.toString(groups));
            AzureADCallbackHandler azureCallBackHandler = new AzureADCallbackHandler(clientSubject, httpRequest,
                    userPrincipal);
            loginContext = new LoginContext(LOGIN_CONTEXT_NAME, azureCallBackHandler);
            loginContext.login();
            Subject subject = loginContext.getSubject();

            CallerPrincipalCallback callerCallBack = new CallerPrincipalCallback(clientSubject, userPrincipal);
            GroupPrincipalCallback groupPrincipalCallback = new GroupPrincipalCallback(clientSubject, groups);

            Callback[] callbacks = new Callback[] { callerCallBack, groupPrincipalCallback };
            handler.handle(callbacks);

            return AuthStatus.SUCCESS;
        } else {
            // ?????
            // if authentication failed
            AuthenticationErrorResponse authErrorResponse = (AuthenticationErrorResponse) authResponse;
            CallerPrincipalCallback callerCallBack = new CallerPrincipalCallback(clientSubject,
                    (Principal) null);
            GroupPrincipalCallback groupPrincipalCallback = new GroupPrincipalCallback(clientSubject, null);

            Callback[] callbacks = new Callback[] { callerCallBack, groupPrincipalCallback };
            handler.handle(callbacks);

            return AuthStatus.FAILURE;
        }
    } catch (Throwable ex) {
        CallerPrincipalCallback callerCallBack = new CallerPrincipalCallback(clientSubject, (Principal) null);
        GroupPrincipalCallback groupPrincipalCallback = new GroupPrincipalCallback(clientSubject, null);

        Callback[] callbacks = new Callback[] { callerCallBack, groupPrincipalCallback };
        try {
            handler.handle(callbacks);
        } catch (IOException | UnsupportedCallbackException ex1) {
            LOGGER.log(Level.SEVERE, null, ex1);
        }
        LOGGER.log(Level.SEVERE, null, ex);
        return AuthStatus.FAILURE;
    }
}