Où stocker Porteur du Jeton dans MVC, Web API

Scénario

J'ai un ASP.NET l'API Web qui utilise l'authentification OAuth Flux de mots de Passe à fournir au Porteur des Jetons pour obtenir l'accès à ses ressources.

Je suis maintenant dans le processus de fabrication d'un MVC de l'application qui vont avoir besoin d'utiliser cette API.

Le plan est d'avoir les contrôleurs MVC faire des appels à l'API au nom du navigateur client.

Les requêtes ajax depuis le navigateur va frapper les contrôleurs MVC et puis les appels d'API sont faites. Les résultats sont ensuite communiqués au client sous forme de JSON et poignées en java-script.

Le client ne doivent jamais communiquer directement avec l'API.

Arriver Authentifié.

J'ai besoin de trouver la meilleure façon de gérer le Porteur du Jeton, une fois qu'il a été reçu dans le MVC application via un appel à l'api web jeton de point de terminaison.

J'ai besoin d'utiliser ce porteur de jeton pour la suite des appels à l'api.

Mon plan est de le stocker dans le System.Web.HttpContext.Current.Session["BearerToken"]

Je peux alors créer un personnalisé AuthorizationAttribute qui va vérifier pour voir si un BearerToken est présente dans la HttpContext, si elle n'est pas présente, le client devra réexaminer le jeton d'extrémité.

Cela vous semble faisable?

Je pose la question pour les peuples avis sur ce que je ne suis pas convaincu que la meilleure solution pour mon projet.

Porteur du jeton, irait dans vos en-têtes de Requête. Je crois que vous accédez à internet à l'API via l'appel AJAX. Ainsi, vous devez créer la requête AJAX de façon appropriée avec le jeton que vous avez reçu de l'API Web. Je n'ai qu'une chose semblable ici, mais sans AJAX stackoverflow.com/questions/38661090/...
Im faisant le wep appel de l'api à l'aide d'un objet HttpClient dans le MVC app

OriginalL'auteur Derek | 2016-09-13