@Test public void testFailedAcquireTokenRequest_ExecuteCallback() throws Throwable { ctx = new AuthenticationContext(TestConfiguration.AAD_UNKNOWN_TENANT_ENDPOINT, true, service); AuthenticationCallback ac = PowerMock.createMock(AuthenticationCallback.class); ac.onFailure(EasyMock.isA(Throwable.class)); EasyMock.expectLastCall(); PowerMock.replay(ac); Future<AuthenticationResult> result = ctx.acquireTokenByRefreshToken( "refresh", new ClientCredential("clientId", "clientSecret"), "resource", ac); try { result.get(); } catch (ExecutionException ee) { throw ee.getCause(); } }
@GET public Response authResponse( @QueryParam("state") String state, @QueryParam("denied") String denied, @QueryParam("oauth_verifier") String verifier) { try { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(getConfig().getClientId(), getConfig().getClientSecret()); ClientSessionModel clientSession = parseClientSessionCode(state).getClientSession(); String twitterToken = clientSession.getNote("twitter_token"); String twitterSecret = clientSession.getNote("twitter_tokenSecret"); RequestToken requestToken = new RequestToken(twitterToken, twitterSecret); AccessToken oAuthAccessToken = twitter.getOAuthAccessToken(requestToken, verifier); twitter4j.User twitterUser = twitter.verifyCredentials(); BrokeredIdentityContext identity = new BrokeredIdentityContext(Long.toString(twitterUser.getId())); identity.setIdp(TwitterIdentityProvider.this); identity.setUsername(twitterUser.getScreenName()); identity.setName(twitterUser.getName()); StringBuilder tokenBuilder = new StringBuilder(); tokenBuilder.append("{"); tokenBuilder .append("\"oauth_token\":") .append("\"") .append(oAuthAccessToken.getToken()) .append("\"") .append(","); tokenBuilder .append("\"oauth_token_secret\":") .append("\"") .append(oAuthAccessToken.getTokenSecret()) .append("\"") .append(","); tokenBuilder .append("\"screen_name\":") .append("\"") .append(oAuthAccessToken.getScreenName()) .append("\"") .append(","); tokenBuilder .append("\"user_id\":") .append("\"") .append(oAuthAccessToken.getUserId()) .append("\""); tokenBuilder.append("}"); identity.setToken(tokenBuilder.toString()); identity.setCode(state); identity.setIdpConfig(getConfig()); return callback.authenticated(identity); } catch (Exception e) { logger.error("Could get user profile from twitter.", e); } EventBuilder event = new EventBuilder(realm, session, clientConnection); event.event(EventType.LOGIN); event.error("twitter_login_failed"); return ErrorPage.error(session, Messages.UNEXPECTED_ERROR_HANDLING_RESPONSE); }