That’s a lot to build there. Wouldn’t it be great to outsource part of that list to a third party? A little-known feature of the Windows Azure Access Control Service is that you can use it to keep track of applications, user consent and token expiration & refresh token handling. That leaves you with implementing:
1 [Authorize]
2 public class RecipesController
3 : ApiController
4 {
5 protected IRecipeService RecipeService { get; private set; }
6
7 public