If the password is a UUID how are the users supposed to know what it
and use it to login. I am missing something here.

On Nov 22, 12:08 pm, Matt Broadstone <mbroa...@gmail.com> wrote:
> On Tue, Nov 22, 2011 at 9:21 AM, Massimo Di 
> Pierro<massimo.dipie...@gmail.com> wrote:
> > must be hashed
>
> Hmm I can't seem to get this working. I should probably have mentioned
> that we are using basic auth to use this user on the client side. When
> I hash the password and insert it into the database it is not hashing
> the password passed in from basic login. Does this mean that we should
> be changing the "basic" method to hash the password that it finds
> there also? like this:
>
>         (username, password) = base64.b64decode(basic[6:]).split(':')
>         password = db.auth_user.password.validate(str(uuid.uuid4()))[0]
>         return self.login_bare(username, password)
>
> Just to be clear, I'll reiterate what we're trying to do here.
>
> A temporary user is created in the system with a uuid username and
> uuid password like this:
>         settings["serverUser"] = str(uuid.uuid4())
>         settings["serverPassword"] =
> db.auth_user.password.validate(str(uuid.uuid4()))[0]
>         user = auth.get_or_create_user(dict(username=settings["serverUser"],
> password=settings["serverPassword"]))
>
> then, on the client side, we are using curl to call a restful action
> on the server using this login info, like this:
>         curlhttps://localhost:2345/some/rest/verb-u "<serverUser
> from above>:<serverPassword from above>"
>
> and its still redirecting. I can confirm that the passwords passed in
> to login_bare are the same until this is called:
>         password = table_user[passfield].validate(password)[0]
>
>
>
>
>
>
>
>
>
> > settings["serverPassword"] =
> > db.auth_user.password.validate(str(uuid.uuid4()))[0]
>
> > On Nov 22, 8:19 am, Matt Broadstone <mbroa...@gmail.com> wrote:
> >> Hello,
> >> In our project we need to create a temporary user for the web2py app
> >> so that a remote system can send back a singe status update. In order
> >> to do this, when the command is sent out we create a temporary user
> >> like this:
>
> >>         settings["serverUser"] = str(uuid.uuid4())
> >>         settings["serverPassword"] = str(uuid.uuid4())
> >>         user = 
> >> auth.get_or_create_user(dict(username=settings["serverUser"],
> >> password=settings["serverPassword"]))
>
> >> This adds the user/password to the database just fine, however, login
> >> fails because of this line in login_bare:
> >> password = table_user[passfield].validate(password)[0]
>
> >> if I remove this line, the password is as expected, which leads me to
> >> think that we are not adding the password in the first case properly.
> >> Does it need to be hashed some way?
>
> >> Matt

Reply via email to