I have a WEB API service that I intend to use with clients that range from browzers to mobile apps to windows desktop clients. All the authorization examples and documentation I have come across are more related to using claims (which only works using cookies sent from a browser?) and through that controlling access to certain action methods on MVC controllers.
How do I use such claims in a web api environment for clients that are not just browsers? I am currently using tokens that are basically generated by my website and so I post the token on every request made to the web api. This is currently only good for authentication. But I dont want every logged in user to be able to get that token from the html and make service calls to other web api methods that they dont have access to. I dont want that data to be made available through such a "hack".
Any thoughts on how this is done or am I missing something in the documentation here?
EDIT
I thought I should mention this. I don't want to use Entity Framework for any user management. Somehow EF seems to be tightly integrated with all user and claim management in all examples online.