Method getActiveUrl is not implemented in  AbstractSecurityToken.java
public String getActiveUrl() {
    throw new UnsupportedOperationException("No active URL available");
  }

Add implementation for this method into TestSecurityTokenCodec.java
and it should probably work

On 01.07.11 08:13, Sumedha Sanjeewa wrote:
I checked this with Shindig 2.0.0 which is available for download and I was
able to get the gadget work in both sample container and also with the url
(I used the full url with the security tokens). So Is this a problem with
current shindig trunk.

But when Still unable to get it working in the current trunk revision. I
changed the url's in the TestSecurityTokenCodec.java, then i'am getting the
following error
in the terminal. Nothing is displayed in the sample container.

WARNING: oauthFetchUnexpectedError
2011-07-01 11:34:04.711:WARN::/gadgets/makeRequest
java.lang.UnsupportedOperationException: No active URL available
  at
org.apache.shindig.auth.AbstractSecurityToken.getActiveUrl(AbstractSecurityToken.java:34)
at
org.apache.shindig.gadgets.oauth.GadgetOAuthCallbackGenerator.checkGadgetCanRender(GadgetOAuthCallbackGenerator.java:117)
  at
org.apache.shindig.gadgets.oauth.GadgetOAuthCallbackGenerator.generateCallback(GadgetOAuthCallbackGenerator.java:100)
at
org.apache.shindig.gadgets.oauth.OAuthRequest.addCallback(OAuthRequest.java:371)
  at
org.apache.shindig.gadgets.oauth.OAuthRequest.fetchRequestToken(OAuthRequest.java:343)
at
org.apache.shindig.gadgets.oauth.OAuthRequest.attemptFetch(OAuthRequest.java:288)
  at
org.apache.shindig.gadgets.oauth.OAuthRequest.fetchWithRetry(OAuthRequest.java:244)
at
org.apache.shindig.gadgets.oauth.OAuthRequest.fetchNoThrow(OAuthRequest.java:200)
  at
org.apache.shindig.gadgets.oauth.OAuthRequest.fetch(OAuthRequest.java:181)
at
org.apache.shindig.gadgets.http.DefaultRequestPipeline.execute(DefaultRequestPipeline.java:108)
  at
org.apache.shindig.gadgets.servlet.MakeRequestHandler.fetch(MakeRequestHandler.java:107)
at
org.apache.shindig.gadgets.servlet.MakeRequestServlet.doGet(MakeRequestServlet.java:55)
  at
org.apache.shindig.gadgets.servlet.MakeRequestServlet.doPost(MakeRequestServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at
org.apache.shindig.gadgets.servlet.ETagFilter.doFilter(ETagFilter.java:55)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at
org.apache.shindig.auth.AuthenticationServletFilter.callChain(AuthenticationServletFilter.java:151)
  at
org.apache.shindig.auth.AuthenticationServletFilter.doFilter(AuthenticationServletFilter.java:96)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
  at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
  at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
  at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
  at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
  at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
  at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


On Fri, Jul 1, 2011 at 3:40 AM, Ryan J Baxter<rjbax...@us.ibm.com>  wrote:

Actually I think its probably related to the fact that the OAuth
implementation that comes with Shindig ends up using
TestSecurityTokenCodec.java.  This is a default implementation
SecurityToken but has static URL values for the gadget in the security
token, not the actual URL for the gadget.  The OAuth code tries to
actually fetch the gadget XML based on the URL in this class and it fails
because the URL in this class does not exist.  If you put the correct URLs
for your gadget in this class it should work.  In a production environment
you obviously want to use a different implementation of SecurityToken.

-Ryan

Email: rjbax...@us.ibm.com
Phone: 978-899-3041
developerWorks Profile



From:   Evgeny Bogdanov<evgeny.bogda...@epfl.ch>
To:     dev@shindig.apache.org,
Date:   06/30/2011 04:25 PM
Subject:        Re: OAuth Error with Shindig



  I might be wrong, but it is probably connected to the fact that you do
not give
security token with gadget spec url.

That is what it says below. I slightly remember something like that,
guess this is why I had to add security token in my tutorial.

"Something went wrong: Could not fetch gadget spec ==== Original request:
GET /m8/feeds/contacts/default/base?alt=json Host:
www.google.comX-Shindig-AuthType:  oauth X-Forwarded-For:
0:0:0:0:0:0:0:1 X-shindig-dos: on
===="



On 30/6/11 18:41, Sumedha Sanjeewa wrote:
I'm not sure about that. I used it because it was given in the above
mentioned thread.
My url is

http://localhost:8080/gadgets/ifr?url=http://dirk.balfanz.googlepages.com/contacts.xml

And I didn't use a security token. I just did the things in the above
thread.


On Thu, Jun 30, 2011 at 7:48 PM, Evgeny
Bogdanov<evgeny.bogda...@epfl.ch>wrote:
Are you sure, you want to use RSA_PRIVATE as key_type?
I have HMAC_SHA1 instead.

What is the url you use to render gadget?

What is the value of security token?


On 30.06.11 15:52, Sumedha Sanjeewa wrote:

It's correct. Here is the entry in my oauth.json

"http://dirk.balfanz.**googlepages.com/contacts.xml<
http://dirk.balfanz.googlepages.com/contacts.xml>"
: {
      "google" : {
         "consumer_key" : "weitu.googlepages.com",
         "consumer_secret" :
"**MIICdgIBADANBgkqhkiG9w0BAQEFAA**SCAmAwggJcAgEAAoGBALRiMLAh9iim**

ur8VA7qVvdqxevEuUkW4K+**2KdMXmnQbG9Aa7k7eBjK1S+**0LYmVjPKlJGNXHDGuy5Fw/**
d7rjVJ0BLB+ubPK8iA/**Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZ**

SatdLB81mydBETlJhI6GH4twrbDJCR**2Bwy/**XWXgqgGRzAgMBAAECgYBYWVtleUzav**
kbrPjy0T5FMou8HX9u2AC2ry8vD/**l7cqedtwMPp9k7TubgNFo+**
NGvKsl2ynyprOZR1xjQ7WgrgVB+**mmuScOM/5HVceFuGRDhYTCObE+**
y1kxRloNYXnx3ei1zbeYLPCHdhxRYW**7T0qcynNmwrn05/**
KO2RLjgQNalsQJBANeA3Q4Nugqy4QB**UCEC09SqylT2K9FrrItqL2QKc9v0Zz**
O2uwllCbg0dwpVuYPYXYvikNHHg+**aCWF+**VXsb9rpPsCQQDWR9TT4ORdzoj+**
NccnqkMsDmzt0EfNaAOwHOmVJ2RVBs**pPcxt5iN4HI7HNeG6U5YsFBb+/**
GZbgfBT3kpNGWPTpAkBI+**gFhjfJvRw38n3g/+**UeAkwMI2TJQS4n8+hid0uus3/**

zOjDySH3XHCUnocn1xOJAyZODBo47E**+67R4jV1/**gzbAkEAklJaspRPXP877NssM5nAZMU
**0/O/NGCZ+**3jPgDUno6WbJn5cqm8MqWhW1xGkImg**Rk+**

fkDBquiq4gPiT898jusgQJAd5Zrr6Q**8AO/0isr/**3aa6O6NLQxISLKcPDk2NOccAfS/**
xOtfOz4sJYM3+Bs4Io9+**dZGSDCA54Lw03eHTNQghS0A==",
         "key_type" : "RSA_PRIVATE"
        }
     },

On Thu, Jun 30, 2011 at 6:16 PM, Jasha Joachimsthal<
j.joachimst...@onehippo.com>    wrote:

   The identifier of your oauth service probably doesn't match, for
Google
it's
"google". See the following example:

     "http://www.example.com/**oauthtest.xml<
http://www.example.com/oauthtest.xml>"
: {
         "google" : {
             "consumer_key" : "www.example.com",
             "consumer_secret" : "mysecret",
             "key_type" : "HMAC-SHA1"
         }
     }

Jasha Joachimsthal

Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522
4466
US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll
free)

www.onehippo.com


On 30 June 2011 14:42, Sumedha Sanjeewa<sumed...@wso2.com>    wrote:

   Hi Evgeny,
Ok. Now I'm clear about this. So I should be able to test a oauth
gadget.
But I'm unable to test oauth as you said although I had changed the
oauth.json. When I test a oauth gadget above error comes out. Also
I'm
not

getting to approve oauth.
   Is my oauth.json is not read by shindig, because I got the same
error
when

i used a  Gadget Server which was based on shindig and I was able to

solve

it after adding the OAuth consumer details.

On Thu, Jun 30, 2011 at 3:23 PM, Evgeny Bogdanov<

evgeny.bogda...@epfl.ch

wrote:
Yes. That's correct. You can only change oauth.json file to test
oauth
in
shindig.
However, if you restart the shindig server, all oauth keys will be
lost
since they
are not saved in DB, which means users will have to again approve
oauth
for

all
oauth gadgets.


On 30.06.11 08:25, Sumedha Sanjeewa wrote:

   Hi,
Thanks for the above. But still i'm not clear about this.
According to
the
above I should be able to get Shindig work with OAuth using
oauth.json
without implementing new class. As I understood these changes are
only necessary if I'm going to use Shindig to a product where
oauth
data
are
stored in DB's. Am I correct or do I need to modify shindig
although
using
oauth.json which is already in Shindig.
On Wed, Jun 29, 2011 at 1:55 PM, Evgeny
Bogdanov<evgeny.bogdanov@epfl.
**
ch<evgeny.bogda...@epfl.ch>>**wrote:
   To add your implementation to shindig, you can add it into

SocialApiGuiceModule.java like this

import org.apache.shindig.social.******opensocial.oauth.****
OAuthDataStore;
import org.apache.shindig.social.******sample.oauth.****
SampleOAuthDataStore;

and


bind(OAuthDataStore.class).to(******SampleOAuthDataStore.**class);
Change SampleOAuthDataStore into your own class.

Implement your class according to SampleOAuthDataStore.java
The sample class uses json-db, if you need a persistent
data-store
(like
mysql, posgres),
you have to implement it yourself. Do it similarly to
JsonDbOpensocialService.

Hope it answers your questions

Best
Evgeny


On 29.06.11 05:55, Sumedha Sanjeewa wrote:

   Thanks Augustin and Evgeny.

In the Java version there is a BasicOAuthStore class which

implements
   the
OAuthStore. So can i use that. Also please can you explain me
how i
should
implement  this class. (In which package,where to access the
class
etc)
   On Tue, Jun 28, 2011 at 7:32 PM, Evgeny
Bogdanov<evgeny.bogdanov@epfl.
*

   ***
ch<evgeny.bogda...@epfl.ch>>****wrote:

   Hi

   attached is an example tutorial I wrote some time ago. It was
working
   with
Shindig 2.0.
Did not check newer versions.

This is more a proof-of-concept that uses oauth.json file.

If you wish a production ready implementation, you need to

implement
   your
own oAuthDataStore class,
as Agustin wrote.

Best
Evgeny


On 28.06.11 15:40, Agustin Casiva wrote:

   Hi, I don't have experience with the Java version of Shindig.
But
in
   PHP
   I
had to implement several class to get shindig working with
oauth
from
   gadgets. The most important class was the implementation of
OAuthDataStore,
this class handles the Tokens requested to the service
provider.
I assume that in the Java version should be the same, maybe
you
need
   implement some class to make the feature work.
I will try to check that and I will let you know.

Regards

On Tue, Jun 28, 2011 at 2:16 AM, Sumedha Sanjeewa<

sumed...@wso2.com
    wrote:
   Hi,

   Can someone help me

Thanks in advance

On Mon, Jun 27, 2011 at 5:41 PM, Sumedha Sanjeewa<

sumed...@wso2.com>
   wrote:
   Hi,

   I'm new to Shindig and I want to try an OAuth gadget with

Shindig.
I

   followed the steps mentioned in this thread [1]. I checked out
the
    current
    source code in the trunk
   Also I used 'mvn -Prun' to start the Jetty server from the
base
   directory.

    Normal gadgets works fine but when i try the sample
gadget
given

in
   the
above thread i am getting this error.

"Something went wrong: Could not fetch gadget spec ====
Original
request:
GET /m8/feeds/contacts/default/********base?alt=json Host:

   www.google.comX-Shindig-********AuthType: oauth
X-Forwarded-For:

   0:0:0:0:0:0:0:1
X-shindig-dos: on

   ===="

   Please can someone help me with this.
[1]


http://groups.google.com/********group/oauth/browse_thread/**<
http://groups.google.com/******group/oauth/browse_thread/**>
<

http://groups.google.com/******group/oauth/browse_thread/**<
http://groups.google.com/****group/oauth/browse_thread/**>
   <h**ttp://groups.google.com/******group/oauth/browse_thread/**<
http://groups.google.com/****group/oauth/browse_thread/**>
**<

http://groups.google.com/****group/oauth/browse_thread/**<
http://groups.google.com/**group/oauth/browse_thread/**>
thread/5dea93b44dbbb628<http:/******/groups.google.com/group/****<
http://groups.google.com/group/**>
oauth/browse_thread/thread/******5dea93b44dbbb628<http://**
groups.google.com/group/oauth/****browse_thread/thread/**<
http://groups.google.com/group/oauth/**browse_thread/thread/**>
5dea93b44dbbb628<

http://groups.google.com/**group/oauth/browse_thread/**
thread/5dea93b44dbbb628<
http://groups.google.com/group/oauth/browse_thread/thread/5dea93b44dbbb628
   Thanks

   --
Regards,
Sumedha Kodithuwakku
(SumedhaS)




   --

   Regards,
Sumedha Kodithuwakku
(SumedhaS)





--
Regards,
Sumedha Kodithuwakku
(SumedhaS)






Reply via email to