On Tue, Nov 22, 2011 at 1:32 PM, Massimo Di Pierro <massimo.dipie...@gmail.com> wrote: > 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. its a temporary password, for a one time callback.
> 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 >