Authentication for both web & api

Hello,

I need to develop an application which needs to authenticate user by verifying login name/password for both web access and api. I need the same controller to cater to both web and api. I can put the before_filter for the controller to make sure that user is logged-in and user_id is in session. But how do I design the controller that if the request comes as a rest web service request then before filter should not check session for logged user but should authenticate with login/password passed as parameters with request and then should go ahead whichever way the request came to controller.

I would really appreciate any code samples/links to sites which explain how to do that.

Thanks.

So I haven’t personally implemented such a thing, but I’ve used such things. AWS API requests do this thing where you establish a connection using the two keys (access and secret) and get a token to use for the rest of your API accesses (I’m pretty sure this times out eventually). I’m sure you could work something similar to that using the user/pw?

Basically, I want to know how to implement different authentication checks for different request paths - from browser or from api.