Get the current user, within an ApiController action, without passing the userID as a parameter

asp.net, asp.net-identity, asp.net-web-api, c#

Solution

In WebApi 2 you can use `RequestContext.Principal` from within a method on ApiController

Problem

How do we get the current user, within an secure ApiController action, without passing the userName or userId as a parameter? We assume that this is available, because we are within a secure action. Being in a secure action means that the user has already authenticated and the request has her bearer token. Given that WebApi has authorized the user, there may be a built in way to access the userId, without having to pass it as an action parameter.

Original source

Related problems