Hello everyone,

 I am sure i am asking something that some one here knows the answer.

 I am trying to implement the OpenID client to authenticate my users
in
 the Google App Engine website and then use Google Accounts API to
 access their profile (All i want is to show their profile pics, show
 their contacts when they want to notify some information to their
 friends when they use my websitewww.letsvoteonline.com)
 I am using OpenID for Java library for this purpose. The problem here
 is i am getting the following exception.

 java.security.AccessControlException: access denied
 (java.lang.RuntimePermission modifyThreadGroup)
         at java.security.AccessControlContext.checkPermission(Unknown
Source)
         at java.security.AccessController.checkPermission(Unknown
Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at com.google.appengine.tools.development.DevAppServerFactory
 $CustomSecurityManager.checkPermission(DevAppServerFactory.java:151)
         at com.google.appengine.tools.development.DevAppServerFactory
 $CustomSecurityManager.checkAccess(DevAppServerFactory.java:176)
         at java.lang.ThreadGroup.checkAccess(Unknown Source)
         at java.lang.Thread.init(Unknown Source)
         at java.lang.Thread.(Unknown Source)
         at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
 $ReferenceQueueThread.(MultiThreadedHttpConnectionManager.java:1039)
         at
 
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.storeRefer
enceToConnection
 (MultiThreadedHttpConnectionManager.java:164)
         at
 
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.access
 $900(MultiThreadedHttpConnectionManager.java:64)
         at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
 $ConnectionPool.createConnection
 (MultiThreadedHttpConnectionManager.java:750)
         at
 
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConne
ction
 (MultiThreadedHttpConnectionManager.java:469)
         at
 
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnect
ionWithTimeout
 (MultiThreadedHttpConnectionManager.java:394)
         at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod
 (HttpMethodDirector.java:152)
         at org.apache.commons.httpclient.HttpClient.executeMethod
 (HttpClient.java:396)
         at org.apache.commons.httpclient.HttpClient.executeMethod
 (HttpClient.java:324)
         at org.openid4java.util.HttpCache.head(HttpCache.java:296)
         at
org.openid4java.discovery.yadis.YadisResolver.retrieveXrdsLocation
 (YadisResolver.java:360)
         at org.openid4java.discovery.yadis.YadisResolver.discover
 (YadisResolver.java:229)
         at org.openid4java.discovery.yadis.YadisResolver.discover
 (YadisResolver.java:221)
         at org.openid4java.discovery.yadis.YadisResolver.discover
 (YadisResolver.java:179)
         at org.openid4java.discovery.Discovery.discover
(Discovery.java:134)
         at org.openid4java.discovery.Discovery.discover
(Discovery.java:114)
         at org.openid4java.consumer.ConsumerManager.discover
 (ConsumerManager.java:527)
         at letsvote.webapps.Letsvote_test1Servlet.authRequest
 (Letsvote_test1Servlet.java:170)
         at letsvote.webapps.Letsvote_test1Servlet.doGet
 (Letsvote_test1Servlet.java:93)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:
693)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:
806)
         at org.mortbay.jetty.servlet.ServletHolder.handle
(ServletHolder.java:
 487)
         at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter
 (ServletHandler.java:1093)
         at
 com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
 (TransactionCleanupFilter.java:43)
         at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter
 (ServletHandler.java:1084)
         at
com.google.appengine.tools.development.StaticFileFilter.doFilter
 (StaticFileFilter.java:121)
         at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter
 (ServletHandler.java:1084)
         at org.mortbay.jetty.servlet.ServletHandler.handle
 (ServletHandler.java:360)
         at org.mortbay.jetty.security.SecurityHandler.handle
 (SecurityHandler.java:216)
         at org.mortbay.jetty.servlet.SessionHandler.handle
 (SessionHandler.java:181)
         at org.mortbay.jetty.handler.ContextHandler.handle
 (ContextHandler.java:712)
         at org.mortbay.jetty.webapp.WebAppContext.handle
(WebAppContext.java:
 405)
         at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle
 (DevAppEngineWebAppContext.java:54)
         at org.mortbay.jetty.handler.HandlerWrapper.handle
 (HandlerWrapper.java:139)
         at
com.google.appengine.tools.development.JettyContainerService
 $ApiProxyHandler.handle(JettyContainerService.java:342)
         at org.mortbay.jetty.handler.HandlerWrapper.handle
 (HandlerWrapper.java:139)
         at org.mortbay.jetty.Server.handle(Server.java:313)
         at org.mortbay.jetty.HttpConnection.handleRequest
(HttpConnection.java:
 506)
         at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete
 (HttpConnection.java:830)
         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:
514)
         at org.mortbay.jetty.HttpParser.parseAvailable
(HttpParser.java:211)
         at org.mortbay.jetty.HttpConnection.handle
(HttpConnection.java:381)
         at org.mortbay.io.nio.SelectChannelEndPoint.run
 (SelectChannelEndPoint.java:396)
         at org.mortbay.thread.BoundedThreadPool$PoolThread.run
 (BoundedThreadPool.java:442)
 Powered by Jetty://

 I heard Google Appengine doesnot support running multiple threads. So
 is this related to that?

 I see the following lines in Google App Engine Docs

 "The App Engine datastore supports storing the User object returned
by
 the Google Accounts API as a special value type. As of this writing,
 User values do not behave as stable identifiers for users: if an app
 stores a User value and the user changes her email address, the User
 value will no longer refer to a valid user. In practice, users rarely
 change their Google Account email addresses, but it's worth designing
 for this rare case. A future update to the service may update User
 values in the datastore automatically. Until then, it is a best
 practice to not rely on the User value for stability.
 The User object exposes a unique user ID that is guaranteed to be
 stable for the lifetime of the user's account, even after changing
the
 email address. You can use this value in a datastore entity key or
 property value. If you wish to perform datastore queries over both
 email addresses and user IDs, you can store both the User object and
 the user ID from the object as separate properties."

 So Does it mean that Google App Engine really support Google Accounts
 API?

 Can some one point me to some step by step how to do information?

 People, your help is really needed here.

 Thanks
 Pradheep

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to