Example usage for org.apache.shiro.authc UsernamePasswordToken toString

List of usage examples for org.apache.shiro.authc UsernamePasswordToken toString

Introduction

In this page you can find the example usage for org.apache.shiro.authc UsernamePasswordToken toString.

Prototype

public String toString() 

Source Link

Document

Returns the String representation.

Usage

From source file:com.ort.arqsoft.security.OAuthServlet.java

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    OAuthClientRequest request;/*  w  ww  .j av a 2 s.  com*/
    try {
        request = OAuthClientRequest.tokenProvider(OAuthProviderType.GOOGLE)
                .setGrantType(GrantType.AUTHORIZATION_CODE).setClientId(apiKey).setClientSecret(apiSecret)
                .setRedirectURI(callbackUrl).setCode(req.getParameter("code")).buildBodyMessage();

        OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());
        OAuthJSONAccessTokenResponse response = oAuthClient.accessToken(request);

        System.out.println(
                "\nAccess Token: " + response.getAccessToken() + "\nExpires in: " + response.getExpiresIn());

        // Use the access token to retrieve the data. 
        OAuthClientRequest bearerClientRequest = new OAuthBearerClientRequest(PROTECTED_RESOURCE_URL)
                .setAccessToken(response.getAccessToken()).buildQueryMessage();

        OAuthResourceResponse resourceResponse = oAuthClient.resource(bearerClientRequest, OAuth.HttpMethod.GET,
                OAuthResourceResponse.class);

        if (resourceResponse.getResponseCode() == 200) {
            System.out.println(resourceResponse.getBody());
            ObjectMapper mapper = new ObjectMapper();
            Account account = mapper.readValue(resourceResponse.getBody(), Account.class);
            UsuarioBackend user = jpaService.find(UsuarioBackend.class, account.getEmail());
            if (user == null) {
                RolUsuario rol = jpaService.find(RolUsuario.class, EnumRole.MANAGERS.name());
                if (rol == null) {
                    rol = new RolUsuario();
                    rol.setNombreRol(EnumRole.MANAGERS.name());
                    rol.setDescripcion("Rol administrador autocreado");
                    jpaService.create(rol);
                }
                ArrayList<RolUsuario> roles = new ArrayList<>();
                roles.add(rol);
                Pair<String, String> p = PasswordHashUtil.getHashedPassword(PRIVATEPASS);
                user = new UsuarioBackend();
                user.setSalt(p.getRight());
                user.setPassword(p.getLeft());
                user.setUserName(account.getEmail());
                user.setRoles(roles);
                jpaService.create(user);
            }
            UsernamePasswordToken token = new UsernamePasswordToken(user.getUserName(), user.getUserName());
            LOG.info(token.toString());
            SecurityUtils.getSubject().login(new UsernamePasswordToken(user.getUserName(), PRIVATEPASS, false));
            resp.sendRedirect(HOME_URL);

        } else {
            System.err.println("Could not access resource: " + resourceResponse.getResponseCode() + " "
                    + resourceResponse.getBody());
        }

    } catch (OAuthSystemException | OAuthProblemException ex) {
        Logger.getLogger(OAuthServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
}