I've tried this with the pyjamas tutorial and it didn't work. I've
enabled user registration and registered a user whose credentials are
used in the URL below. I got a server error when a function requiring
user authentication was called.

I changed the line

JSONProxy.__init__(self, "../../default/call/jsonrpc", ["getTasks",
"addTask","deleteTask"])

to read

JSONProxy.__init__(self,
"http://myemail%40gmail.com%3amypassw...@127.0.0.1:8000/pyjamas/default/call/jsonrpc";,
["getTasks", "addTask","deleteTask"])

What am I missing?

Thanks.

On Mon, Jun 1, 2009 at 12:51 PM, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> OK. As you request since the latest version in trunk you can do
>
> @auth.requires_login()
> def index(): return 'hello world'
>
> and access it with
>
>   curl -u username:password http://127.0.0.1:8000/app/default/index
>
> or
>
>   curl http://username:passw...@127.0.0.1:8000/app/default/index
>
> In the latter case username and password have to be encoded by
> urllib.quote()
>
> works for services too.
>
> Massimo
>
> On May 31, 10:43 pm, Dan <danbr...@gmail.com> wrote:
>> Since my last message on this thread, I came up with a patch to the
>> Auth.login() code that lets me do what I need, so figured I should
>> post it here. Let me know if you see any issues with this approach (or
>> improvements to it).
>>
>> To recap, what I want to do is to let a script runing wget (not a
>> browser) login and then work with some parts of the app that require
>> membership in groups. I want to pass the user's name and password to
>> the login form using post variables in the URL. This is not normally
>> possible with web2py's Auth.login() function, so it needs to be
>> modified, like this-
>>
>> referring to source code 
>> here:http://www.web2py.com/examples/static/epydoc/web2py.gluon.tools-pysrc...
>> Change these 3 lines ...
>>  622          if FORM.accepts(form, request.vars, session,
>>  623                          formname='login',
>>  624                          onvalidation=onvalidation):
>>
>> ... to be these 3 lines:
>> if username in request.vars.keys() and request.vars.password and \
>>         FORM.accepts(form, request.vars,
>>             formname=None, onvalidation=onvalidation):
>>
>> This change lets the form take the username and password from the
>> URL's post variables (or the form itself - but not both of course).
>> Then my script will login using wget's optional arguments "--keep-
>> session-cookies --save-cookies=" when submitting the user name and
>> password to the app's login function. These wget options store the
>> session cookie in a local file. Then subsequent wget calls to the
>> restricted parts of the app can use those cookies as a token to gain
>> access with the option "--load-cookies=".
>>
>> Apologies for straying a bit from the original use case of this
>> thread, but perhaps it's general approach will be a helpful hint.
>>
>> Also: I don't fully understand what the purpose of the "formname"
>> parameter is, or why it was necessary to None-ify it. If someone can
>> explain this to me, I'd appreciate it.
>>
>> Dan
>>
>> On May 29, 6:15 pm, Dan <danbr...@gmail.com> wrote:
>>
>> > Reviving this thread from before... I would like to have a shell
>> > script use wget to authenticate itself and access the data in a web2py
>> > application, but I haven't been able to get the web2py app to accept
>> > the post'ed email and password information, which I sent to the user/
>> > login URL. Is this the right way to do it?
>>
>> > I see some passing references to alternate authorization methods in
>> > the documentation and the code, but I haven't been able to get much
>> > detail on what those might be. For example-
>>
>> >http://mdp.cti.depaul.edu/examples/default/tools#authentication:
>> > "The Auth calls can be extended, personalized, and replaced by other
>> > authentication mechanisms which expose a similar interface."
>>
>> > and 
>> > inhttp://mdp.cti.depaul.edu/examples/static/epydoc/web2py.gluon.tools-p...
>> > :
>> >  644              if not user:
>> >  645                  ## try alternate login methods
>> >  646                  for login_method in
>> > self.settings.login_methods:
>> >  647                      if login_method != self and \
>> >  648                              login_method(request.vars
>> > [username],
>> >  649
>> > request.vars.password):
>> >  650                          user = self.get_or_create_user
>> > (form.vars)
>>
>> > Is there a place where I can find out more about what already exists,
>> > or how to go about getting something like what the original message in
>> > this thread described?
>>
>> > Dan
>>
>> > On May 17, 8:22 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>>
>> > > I need to look into this. I do not think there can be a generic
>> > > approach. Each protocol has its own quirks and some do not handle
>> > > session or authenication.
>>
>> > > Massimo
>>
>> > > On May 17, 8:14 pm, jcorbett <jasoncorb...@gmail.com> wrote:
>>
>> > > > I love the service framework, however I am interested in being able to
>> > > > authenticate users.  With json/jsonrpcthis shouldn't be too hard as
>> > > > the browser that the ajax request would come from would have the same
>> > > > session.
>>
>> > > > Particularly I am concerned with writing an xmlrpc service that
>> > > > requires authentication.  TheAuthclass doesn't seem to expose any of
>> > > > the lower level logic for authentication (like a login function that
>> > > > takes a username and a password).  Any ideas on how I can do this.
>> > > > I'm not afraid of writing my own implimentation, however I would love
>> > > > to piggy back off what is already there.
>>
>> > > > I would figure I would want to have a login function that would create
>> > > > a session key (limited lifetime), and each function would be required
>> > > > to provide that key.
>>
>> > > > Any ideas would be appreciated.
>>
>> > > > Jason Corbett
>> > > > BTW I love the simplicity of web2py, it took me maybe 2-3 hours to
>> > > > write a simple app that was even themed.
>>
>>
> >
>



-- 
Alexei Vinidiktov

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to