private static String getAccessorKey(final OAuth2Accessor accessor) { if (accessor != null) { return "accessor:" + accessor.getGadgetUri() + ':' + accessor.getServiceName() + ':' + accessor.getUser() + ':' + accessor.getScope(); } return null; } }
protected String getAccessorKey(final OAuth2Accessor accessor) { return this.getAccessorKey(accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope()); }
@Test public void testHandleRequest_5() throws Exception { final CodeAuthorizationResponseHandler fixture = CodeAuthorizationResponseHandlerTest.carh; final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleRequest_5() throws Exception { final CodeAuthorizationResponseHandler fixture = CodeAuthorizationResponseHandlerTest.carh; final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
this.redirectUri = accessor.getRedirectUri(); this.refreshToken = accessor.getRefreshToken(); this.serviceName = accessor.getServiceName(); this.scope = accessor.getScope(); this.state = accessor.getState();
final String expiresIn = msg.getExpiresIn(); final String tokenType = msg.getTokenType(); final String providerName = accessor.getServiceName(); final String gadgetUri = accessor.getGadgetUri(); final String scope = accessor.getScope();
@Test public void testHandleResponse_4() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "text/plain"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_5() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "application/json"); builder.setContent("{\"access_token\":\"xxx\",\"token_type\":\"Bearer\",\"expires_in\":\"1\",\"refresh_token\":\"yyy\",\"example_parameter\":\"example_value\"}"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_4() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "text/plain"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_5() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "application/json"); builder.setContent("{\"access_token\":\"xxx\",\"token_type\":\"Bearer\",\"expires_in\":\"1\",\"refresh_token\":\"yyy\",\"example_parameter\":\"example_value\"}"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testGetOAuth2Accessor_1() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final OAuth2CallbackState state = new OAuth2CallbackState(MockUtils.getDummyStateCrypter()); state.setGadgetUri(accessor.getGadgetUri()); state.setServiceName(accessor.getServiceName()); state.setUser(accessor.getUser()); state.setScope(accessor.getScope()); final OAuth2Accessor result = this.cache.getOAuth2Accessor(state); Assert.assertNotNull(result); Assert.assertEquals(MockUtils.CLIENT_ID1, result.getClientId()); }
@Test public void testGetOAuth2Accessor_1() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final OAuth2CallbackState state = new OAuth2CallbackState(MockUtils.getDummyStateCrypter()); state.setGadgetUri(accessor.getGadgetUri()); state.setServiceName(accessor.getServiceName()); state.setUser(accessor.getUser()); state.setScope(accessor.getScope()); final OAuth2Accessor result = this.cache.getOAuth2Accessor(state); Assert.assertNotNull(result); Assert.assertEquals(MockUtils.CLIENT_ID1, result.getClientId()); }
@Test public void testHandleResponse_6() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "BAD"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); } }
@Test public void testStoreOAuth2Accessor_1() throws Exception { final OAuth2Store store = MockUtils.getDummyStore(this.cache, null, null, null, null, null, null); OAuth2Accessor accessor = new BasicOAuth2Accessor("XXX", "YYY", "ZZZ", "", false, store, "AAA", null, null); this.cache.storeOAuth2Accessor(accessor); final OAuth2CallbackState state = new OAuth2CallbackState(MockUtils.getDummyStateCrypter()); state.setGadgetUri(accessor.getGadgetUri()); state.setServiceName(accessor.getServiceName()); state.setUser(accessor.getUser()); state.setScope(accessor.getScope()); accessor = this.cache.getOAuth2Accessor(state); Assert.assertNotNull(accessor); Assert.assertEquals("XXX", accessor.getGadgetUri()); Assert.assertEquals("YYY", accessor.getServiceName()); Assert.assertEquals("ZZZ", accessor.getUser()); Assert.assertEquals("", accessor.getScope()); Assert.assertEquals(false, accessor.isAllowModuleOverrides()); Assert.assertEquals("AAA", accessor.getRedirectUri()); }
@Test public void testHandleResponse_6() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "BAD"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); } }
@Test public void testHandleRequest_verifyAnonymousTokenOnRequest() throws Exception { MockUtils.DummyHttpFetcher fetcher = (MockUtils.DummyHttpFetcher)MockUtils.getDummyFetcher(); CodeAuthorizationResponseHandler fixture = new CodeAuthorizationResponseHandler( MockUtils.getDummyMessageProvider(), MockUtils.getDummyClientAuthHandlers(), MockUtils.getDummyTokenEndpointResponseHandlers(), fetcher); final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); Assert.assertNotNull( fetcher.request ); SecurityToken st = fetcher.request.getSecurityToken(); Assert.assertNotNull( st ); Assert.assertTrue( st.isAnonymous() ); Assert.assertEquals( accessor.getGadgetUri(), st.getAppUrl() ); }
@Test public void testStoreOAuth2Accessor_1() throws Exception { final OAuth2Store store = MockUtils.getDummyStore(this.cache, null, null, null, null, null, null); OAuth2Accessor accessor = new BasicOAuth2Accessor("XXX", "YYY", "ZZZ", "", false, store, "AAA", null, null); this.cache.storeOAuth2Accessor(accessor); final OAuth2CallbackState state = new OAuth2CallbackState(MockUtils.getDummyStateCrypter()); state.setGadgetUri(accessor.getGadgetUri()); state.setServiceName(accessor.getServiceName()); state.setUser(accessor.getUser()); state.setScope(accessor.getScope()); accessor = this.cache.getOAuth2Accessor(state); Assert.assertNotNull(accessor); Assert.assertEquals("XXX", accessor.getGadgetUri()); Assert.assertEquals("YYY", accessor.getServiceName()); Assert.assertEquals("ZZZ", accessor.getUser()); Assert.assertEquals("", accessor.getScope()); Assert.assertEquals(false, accessor.isAllowModuleOverrides()); Assert.assertEquals("AAA", accessor.getRedirectUri()); }
@Test public void testHandleRequest_verifyAnonymousTokenOnRequest() throws Exception { MockUtils.DummyHttpFetcher fetcher = (MockUtils.DummyHttpFetcher)MockUtils.getDummyFetcher(); CodeAuthorizationResponseHandler fixture = new CodeAuthorizationResponseHandler( MockUtils.getDummyMessageProvider(), MockUtils.getDummyClientAuthHandlers(), MockUtils.getDummyTokenEndpointResponseHandlers(), fetcher); final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); Assert.assertNotNull( fetcher.request ); SecurityToken st = fetcher.request.getSecurityToken(); Assert.assertNotNull( st ); Assert.assertTrue( st.isAnonymous() ); Assert.assertEquals( accessor.getGadgetUri(), st.getAppUrl() ); }
@Test public void testGetOAuth2Accessor_4() throws Exception { final OAuth2Accessor result = GadgetOAuth2TokenStoreTest.gts.getOAuth2Accessor( GadgetOAuth2TokenStoreTest.securityToken, GadgetOAuth2TokenStoreTest.arguments, Uri.parse(MockUtils.GADGET_URI1)); Assert.assertNotNull(result); Assert.assertFalse(result.isErrorResponse()); Assert.assertEquals(null, result.getAccessToken()); Assert.assertEquals(MockUtils.AUTHORIZE_URL, result.getAuthorizationUrl()); Assert.assertEquals(OAuth2Message.BASIC_AUTH_TYPE, result.getClientAuthenticationType()); Assert.assertEquals(MockUtils.CLIENT_ID1, result.getClientId()); Assert.assertEquals(MockUtils.GADGET_URI1, result.getGadgetUri()); Assert.assertEquals(OAuth2Message.AUTHORIZATION, result.getGrantType()); Assert.assertEquals(MockUtils.REDIRECT_URI, result.getRedirectUri()); Assert.assertEquals(null, result.getRefreshToken()); Assert.assertEquals(MockUtils.SCOPE, result.getScope()); Assert.assertEquals(MockUtils.SERVICE_NAME, result.getServiceName()); Assert.assertEquals(MockUtils.TOKEN_URL, result.getTokenUrl()); Assert.assertEquals(OAuth2Accessor.Type.CONFIDENTIAL, result.getType()); Assert.assertEquals(MockUtils.USER, result.getUser()); Assert.assertTrue(result.isValid()); Assert.assertFalse(result.isAllowModuleOverrides()); Assert.assertFalse(result.isErrorResponse()); Assert.assertFalse(result.isRedirecting()); Assert.assertFalse(result.isUrlParameter()); Assert.assertTrue(result.isAuthorizationHeader()); }
@Test public void testGetOAuth2Accessor_4() throws Exception { final OAuth2Accessor result = GadgetOAuth2TokenStoreTest.gts.getOAuth2Accessor( GadgetOAuth2TokenStoreTest.securityToken, GadgetOAuth2TokenStoreTest.arguments, Uri.parse(MockUtils.GADGET_URI1)); Assert.assertNotNull(result); Assert.assertFalse(result.isErrorResponse()); Assert.assertEquals(null, result.getAccessToken()); Assert.assertEquals(MockUtils.AUTHORIZE_URL, result.getAuthorizationUrl()); Assert.assertEquals(OAuth2Message.BASIC_AUTH_TYPE, result.getClientAuthenticationType()); Assert.assertEquals(MockUtils.CLIENT_ID1, result.getClientId()); Assert.assertEquals(MockUtils.GADGET_URI1, result.getGadgetUri()); Assert.assertEquals(OAuth2Message.AUTHORIZATION, result.getGrantType()); Assert.assertEquals(MockUtils.REDIRECT_URI, result.getRedirectUri()); Assert.assertEquals(null, result.getRefreshToken()); Assert.assertEquals(MockUtils.SCOPE, result.getScope()); Assert.assertEquals(MockUtils.SERVICE_NAME, result.getServiceName()); Assert.assertEquals(MockUtils.TOKEN_URL, result.getTokenUrl()); Assert.assertEquals(OAuth2Accessor.Type.CONFIDENTIAL, result.getType()); Assert.assertEquals(MockUtils.USER, result.getUser()); Assert.assertTrue(result.isValid()); Assert.assertFalse(result.isAllowModuleOverrides()); Assert.assertFalse(result.isErrorResponse()); Assert.assertFalse(result.isRedirecting()); Assert.assertFalse(result.isUrlParameter()); Assert.assertTrue(result.isAuthorizationHeader()); }