@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();
   }
 }
Ejemplo n.º 2
0
    @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);
    }