await not completing in extension method but working in controller
===

I am using async and await in a controller.

The following code works fine

    [HttpPost]
	[ValidateAntiForgeryToken]        
	public async Task<ActionResult> Create(CompetitionViewModel viewModel)
	{
            if (ModelState.IsValid)
            {
               
                User user = null;
				using (var facebookClient = new FacebookClient(viewModel.AccessToken))
				{
					var facebookUser = await facebookClient.Me();
					user = entityStorage.GetUser(facebookUser);
					FormsAuthentication.SetAuthCookie(user.FacebookId, true);
				}



However if I try and execute the same code in an extension method then the await never completes. 

    [HttpPost]
    [ValidateAntiForgeryToken]        
    public ActionResult Create(CompetitionViewModel viewModel)
    {
    	if (ModelState.IsValid)
    	{
    		var user = entityStorage.GetCurrentUser(viewModel.AccessToken).Result;

and


    public static class Helpers
        {
            public async static Task<User> GetCurrentUser(this IEntityStorage entityStorage, string accessToken)
            {
                User user = null;
    			using (var facebookClient = new FacebookClient(accessToken))
    			{
    				var facebookUser = await facebookClient.Me(); //STUCK HERE!!
    				user = entityStorage.GetUser(facebookUser);
    				FormsAuthentication.SetAuthCookie(user.FacebookId, true);
    			}
                return user;
            }

I am using MVC4 and have `<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />` set in my web.config as per other threads suggestions.

**Can anyone tell me why this is and how I can get it to work?**