You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@shindig.apache.org by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org> on 2011/10/12 16:53:14 UTC

[jira] [Commented] (SHINDIG-1624) OAuth 2.0 Consumer Java implementation for Shindig 3.0

    [ https://issues.apache.org/jira/browse/SHINDIG-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13125896#comment-13125896 ] 

jiraposter@reviews.apache.org commented on SHINDIG-1624:
--------------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1947/
-----------------------------------------------------------

(Updated 2011-10-12 14:52:23.335109)


Review request for shindig.


Changes
-------

Features included in this patch:
1. updated the patch to work with 20111012 trunk
2. minor fix to make it work with java15 as well
3. added back OAuth2 demo gadgets with Shindig Provider and verified with Shindig Service Provider patch (https://reviews.apache.org/r/1940/)

Passed junit tests. OAuth2 demo gadgets( with Shindig Provider ) works with Shindig service provider patch.

It's a big patch, thanks a lot for reviewing it! It has been posted for a while, appreciate more review and we'll try to address asap.  We'd like to see it committed by Friday. Thanks!


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 1182008 
  /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/content/samplecontainer/examples/oauth2/shindig_authorization.xml PRE-CREATION 
  /trunk/content/samplecontainer/examples/oauth2/shindig_client_credentials.xml PRE-CREATION 
  /trunk/features/src/main/javascript/features/core.io/io.js 1182008 
  /trunk/features/src/main/javascript/features/shindig.xhrwrapper/xhrwrapper.js 1182008 
  /trunk/java/common/conf/shindig.properties 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/AuthType.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/XhrwrapperConfigContributor.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultInvalidationService.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpRequest.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java 1182008 
  /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 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/ProxyRenderer.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java 1182008 
  /trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1182008 
  /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 1182008 
  /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 1182008 
  /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 1182008 
  /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/DefaultInvalidationServiceTest.java 1182008 
  /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/DefaultRequestPipelineTest.java 1182008 
  /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 1182008 
  /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java 1182008 
  /trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java 1182008 
  /trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/oauth2/oauth2_test.json PRE-CREATION 
  /trunk/java/server/pom.xml 1182008 
  /trunk/java/server/src/main/webapp/WEB-INF/web.xml 1182008 
  /trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java 1182008 

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


                
> OAuth 2.0 Consumer Java implementation for Shindig 3.0
> ------------------------------------------------------
>
>                 Key: SHINDIG-1624
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-1624
>             Project: Shindig
>          Issue Type: Sub-task
>          Components: Java
>    Affects Versions: 3.0.0
>            Reporter: Adam Clarke
>             Fix For: 3.0.0
>
>         Attachments: 20110921
>
>   Original Estimate: 1,344h
>  Remaining Estimate: 1,344h
>
> Developing an extensible OAuth 2.0 component for Shindig 3.0.0 tested against Google, Facebook and the Shindig Provider developed by Matt and Eric.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira