----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1947/ -----------------------------------------------------------
(Updated 2011-09-30 18:38:20.349435) Review request for shindig. Changes ------- Features included in this patch: 1. junit test cases -- great work from Adam! 2. javadoc improvement 3. updates upon Ryan's comments It's a big patch, thanks for reviewing! Summary ------- OAuth 2.0 client implementation in Apache Shindig from Adam Clarke, Eric Woods, Jeff Hoy, Li Xu and Matthew Marum. Documentation wiki: http://docs.opensocial.org/display/OSD/OAuth+2.0+Consumer+Implementation+in+Apache+Shindig JIRA issue: https://issues.apache.org/jira/browse/SHINDIG-1624 OAuth2 test gadgets are added to common container test page and can be tested by using http://localhost:8080/samplecontainer/examples/commoncontainer/index.html You will need OAuth2 service provider implementation to test following two gadgets: OAuth2 demo with Shindig Provider (Authorization Code) OAuth2 demo with Shindig Provider (Client credential ) You will need to have your own google/facebook client to test following two gadgets OAuth2 demo with Google Provider OAuth2 demo with Facebook Provider Once it's registered with Google/Facebook, you can register the client-id/pwd under /config/oauth2.json This addresses bug shindig-1624. https://issues.apache.org/jira/browse/shindig-1624 Diffs (updated) ----- /trunk/config/oauth2.json PRE-CREATION /trunk/content/samplecontainer/examples/commoncontainer/gadgetCollections.json 1177739 /trunk/content/samplecontainer/examples/oauth2/oauth2_facebook.xml PRE-CREATION /trunk/content/samplecontainer/examples/oauth2/oauth2_google.xml PRE-CREATION /trunk/content/samplecontainer/examples/oauth2/oauth2_windowslive.xml PRE-CREATION /trunk/features/src/main/javascript/features/core.io/io.js 1177739 /trunk/features/src/main/javascript/features/shindig.xhrwrapper/xhrwrapper.js 1177739 /trunk/java/common/conf/shindig.properties 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/XhrwrapperConfigContributor.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/BasicOAuth2Accessor.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/BasicOAuth2Message.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/BasicOAuth2Request.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/BasicOAuth2Store.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/GadgetOAuth2TokenStore.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Accessor.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Arguments.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Error.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2FetcherConfig.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2GadgetContext.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Message.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2MessageModule.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Module.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Request.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2RequestException.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2ResponseParams.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Store.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Token.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/OAuth2Utils.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/AuthorizationEndpointResponseHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/BasicAuthenticationHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/BearerTokenHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/ClientAuthenticationHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/ClientCredentialsGrantTypeHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/CodeAuthorizationResponseHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/CodeGrantTypeHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/GrantRequestHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/MacTokenHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/OAuth2HandlerError.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/OAuth2HandlerModule.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/ResourceRequestHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/StandardAuthenticationHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/TokenAuthorizationResponseHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/handler/TokenEndpointResponseHandler.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/logger/FilteredLogger.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2Cache.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2CacheException.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2Client.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2Encrypter.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2EncryptionException.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2PersistenceException.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2Persister.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2TokenPersistence.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/sample/InMemoryCache.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/sample/JSONOAuth2Persister.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/sample/NoOpEncrypter.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/sample/OAuth2GadgetBinding.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/sample/OAuth2PersistenceModule.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth2/persistence/sample/OAuth2Provider.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/ProxyRenderer.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/OAuth2CallbackServlet.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/BaseOAuthService.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java 1177739 /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Service.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Spec.java PRE-CREATION /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java 1177739 /trunk/java/gadgets/src/main/resources/org/apache/shindig/gadgets/oauth2/resource.properties PRE-CREATION /trunk/java/gadgets/src/main/resources/org/apache/shindig/gadgets/oauth2/resource_en_US.properties PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/AuthTypeTest.java 1177739 /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/DefaultInvalidationServiceTest.java 1177739 /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/DefaultRequestPipelineTest.java 1177739 /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/GadgetOAuth2TokenStoreTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/MockUtils.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2ArgumentsTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2ErrorTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2FetcherConfigTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2GadgetContextTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2MessageModuleTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2ModuleTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2RequestExceptionTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/OAuth2ResponseParamsTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/BasicAuthenticationHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/BearerTokenHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/ClientCredentialsGrantTypeHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/CodeAuthorizationResponseHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/CodeGrantTypeHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/MacTokenHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/OAuth2HandlerErrorTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/OAuth2HandlerModuleTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/StandardAuthenticationHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/handler/TokenAuthorizationResponseHandlerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/logger/FilteredLoggerTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2CacheExceptionTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2ClientTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2EncryptionExceptionTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2PersistenceExceptionTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/OAuth2TokenPersistenceTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/sample/InMemoryCacheTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/sample/JSONOAuth2PersisterTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/sample/NoOpEncrypterTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/sample/OAuth2GadgetBindingTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/sample/OAuth2PersistenceModuleTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth2/persistence/sample/OAuth2ProviderTest.java PRE-CREATION /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java 1177739 /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java 1177739 /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java 1177739 /trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/oauth2/oauth2_test.json PRE-CREATION /trunk/java/server/pom.xml 1177739 /trunk/java/server/src/main/webapp/WEB-INF/web.xml 1177739 /trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java 1177739 Diff: https://reviews.apache.org/r/1947/diff Testing ------- Yes, passed all JUnit tests with mantis build. tested with new OAuth2 demo pages. Thanks, li
