I concur with Mitch, RESTful authentication is done per request -- there are 
lots of good ways to do it; if each request contains sufficient information to 
be independently authenticated and acted upon by the server, it's RESTful. 

It sounds from your description that you might be building some sort of 
delegated authentication, authorization and/or profile facility that back-ends 
other services. A draft specification I wrote earlier this year for such a 
facility is here (which, in turn, is also open for comment). 

http://www.solertium.com/downloads/specs/GoGoEgo+User+Service.pdf 

----- Original Message ----- 
From: "Mitch Stewart" <[EMAIL PROTECTED]> 
To: [email protected] 
Sent: Tuesday, October 2, 2007 2:30:43 PM (GMT-0500) America/New_York 
Subject: RE: Restful Login/Identifier 

JC, 

We do a combination of Basic Authentication and AWS Authentication (both 
available in Restlet). First the user logs in using Basic Authentication 
to retrieve tokens (identifiers) that are then used on subsequent 
requests. The token is used to generate a hash which is sent with every 
request within the Authorization header using the AWS Authentication 
scheme. 

Basic Authentication works for us because we push all requests via 
HTTPS...you might need to use something else if you are not 
SSL-encrypted. 

I think the "Restful approach" will require you to send authentication 
credentials for every request. You can pass the digested password for 
each request, but the AWS Authentication scheme provides a nice layer of 
redirection so you are not storing the password anywhere on the client. 

Hope that helps, 

Mitch 



> -----Original Message----- 
> From: news [mailto:[EMAIL PROTECTED] On Behalf Of JC 
> Sent: Tuesday, October 02, 2007 1:44 PM 
> To: [email protected] 
> Subject: Restful Login/Identifier 
> 
> I am trying to develop a Restful login system. Using a web 
> service I want to identify a user based on their user name 
> and password, but I am not sure the best (Restful) approach. 
> 
> I would like to avoid the RPC approach of calling an 
> authenticate method, passing in a user name and password. 
> 
> The best (Restful) solution I have come up w/ so far is to 
> have the URL HTTPS://www.example.com/user/{user}. The {user} 
> placeholder would be the MD5 value of the concatenated string 
> of user name + password. 
> 
> Ex. 
> User name: MyName 
> Password: MyPassword 
> {user} = MD5(MyName+MyPassword) 
> 
> If the user is found return a XML representation of the user, 
> if not return a 
> 404 error. 
> 
> Thoughts, comments, suggestions? 
> 

Reply via email to