thanks all for the thoughts. I remember also that there is special
treatment of the userreference (presumably to avoid predictive
attacks), so I wanted to make sure that I used the server generated
session id, particular for things like load-balancing.
I wanted to do the change in one request to the server to switch a
user of a multi-tenant application, with a common userID (openID for
example) between tenants. I track logins/logout using userreference,
and thought it would be ideal to use a different userref when the
user was logged out of tenant Alpha and into tenant Zebra. Privacy
reasons primarily, since it would be a trifle harder to correlate
comings and goings.
Anyway, I have the user functionality without a changing
userreference, so it's good enough for now.
Bill
William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
vox: 650.327.2175 (direct)
fax: 650.329.8335
mobile: 650.906.9929
e-mail: mailto:[EMAIL PROTECTED]
web: http://www.tothept.com
On Mar 15, 2008, at 8:46 AM, Scott Cadillac wrote:
Hi Robert,
That's right, you can't purge a cookie. It can only be given an
empty value or set to expire.
I recall a couple years ago we all had a long investigative thread
on this topic, but of course my fuzzy brain can't remember the
precise outcome just now. But basically I think we found that the
userreference cookie gets some special treatment in the Witango
runtime that prevents tapering with the value (although I think
there was some differences in behavior depending on your version of
tango).
Given all the above, you can use JavaScript to remove the
userreference cookie value (because this happens outside the
witango runtime). This works very reliably. Once the value is
removed, tango does assign a new reference number.
Hope that helps.
Scott,
On Saturday, March 15, 2008 12:31pm, Robert Garcia
<[EMAIL PROTECTED]> said:
Well, there are 2 issues, but keep in mind I am going from memory.
1. You can't gen a userreference, and you can't fake with an MD5,
because witango uses the usereference to tie it to the correct
instance of witango in the group.
2. You can't use purge on cookie scope. If I remember correct, you
have to write the cooke name with zero data. I would test to be sure,
but I am pretty sure you assign cookie value empty string to purge
it.
Then on subsequent request, witango should assign new userref.
--
Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/
On Mar 15, 2008, at 8:18 AM, William M Conlon wrote:
I wrote a test taf to see what purging the various scopes would do,
and the USERREFERENCE is unchanged. So to change it, I would need
to generate a new one to replace the cookie from the browser.
What I was looking for was a hook into the witango USERREFERENCE
generation scheme. Anyway, it's just a curiousity, I re-worked my
thinking.
Bill
William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
vox: 650.327.2175 (direct)
fax: 650.329.8335
mobile: 650.906.9929
e-mail: mailto:[EMAIL PROTECTED]
web: http://www.tothept.com
On Mar 15, 2008, at 4:17 AM, Robert Garcia wrote:
I think the only way, is to CLEAR the userref cookie, and let
witango gen.
--
Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/
On Mar 14, 2008, at 5:48 PM, William M Conlon wrote:
BUT ... userreference WAS received via cookie 'abc'
Bill
On Mar 14, 2008, at 5:46 PM, Ben Johansen wrote:
NO
in the manual
If no user reference number was received
(via the “_userReference” search argument or an HTTP cookie) when
the application file was called, a new number is generated;
otherwise, the
number passed in is returned.
so you clear the cookie and when you call a page without a
userreference arg it will gen a new one
On Mar 14, 2008, at 5:39 PM, William M Conlon wrote:
No, that would not be a NEW userreference, rather the same
userreference that was passed in by cookie.
Here's the flow;
userreference cookie 'abc' is passed to taf
@@user$id and @@user$somedata is known from user reference
'abc'
assign @@request$id == @@user$id
purge user scope variables
get new user refernence 'def'
assign user$id = @@request$id and user$somedata = user's new
data
setcookie
Now on subsequent requests the cookie 'def' is used
Bill
William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
vox: 650.327.2175 (direct)
fax: 650.329.8335
mobile: 650.906.9929
e-mail: mailto:[EMAIL PROTECTED]
web: http://www.tothept.com
On Mar 14, 2008, at 5:30 PM, Ben Johansen wrote:
that would be
<@USERREFERENCE>
<@ASSIGN SCOPE="cookie" NAME="Witango_UserReference"
VALUE="<@USERREFERENCE>">.
On Mar 14, 2008, at 5:22 PM, William M Conlon wrote:
I want to tear down a user's session (purging all their
variables) and give the user a new session with new user
variables and a new userreference.
I'll need to <@ASSIGN SCOPE="cookie"
NAME="Witango_UserReference" VALUE="@@request
$newUserReference">.
How do I generate @@request$newUserReference on the server so
I can set the cookie?
I would like the new UserReference to be generated by the
server, rather than by my own home-grown approach, so it isn't
subject to replay cracking attempts. For example if I just
generated a hash from things I new about the user, someone
could conceivably work out the algorithm and generate their
own userreference to hijack a session (admittedly unlikely).
I don't want to know how the server generates a new
userReference -- I just want to get one.
thanks.
Bill
William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
vox: 650.327.2175 (direct)
fax: 650.329.8335
mobile: 650.906.9929
e-mail: mailto:[EMAIL PROTECTED]
web: http://www.tothept.com
______________________________________________________________
__________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
_______________________________________________________________
_________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
________________________________________________________________
________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
_________________________________________________________________
_______
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
__________________________________________________________________
______
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf
___________________________________________________________________
_____
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
____________________________________________________________________
____
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
_____________________________________________________________________
___
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
______________________________________________________________________
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf