Partage via


Tutoriel : Appeler une API et afficher les résultats

Dans le tutoriel précédent, vous avez ajouté les expériences de connexion et de déconnexion à l’application. L’application peut maintenant être configurée pour appeler une API web. Dans le cadre de ce tutoriel, l’API Microsoft Graph est appelé pour afficher les informations de profil de l’utilisateur connecté.

Dans ce tutoriel, vous allez :

  • Appeler l’API et afficher les résultats
  • Test de l’application

Prérequis

Appeler l’API et afficher les résultats

  1. Sous Pages, ouvrez le fichier Index.cshtml.cs et remplacez l’intégralité du contenu du fichier par l’extrait de code suivant. Vérifiez que le projet namespace correspond au nom de votre projet.

    using System.Text.Json;
    using Microsoft.AspNetCore.Mvc.RazorPages;
    using Microsoft.Identity.Web;
    using Microsoft.Identity.Abstractions;
    
    namespace sign_in_webapp.Pages;
    
    [AuthorizeForScopes(ScopeKeySection = "DownstreamApi:Scopes")]
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
    
        private readonly IDownstreamApi  _downstreamWebApi;
    
        public IndexModel(ILogger<IndexModel> logger,
                            IDownstreamApi  downstreamWebApi)
        {
            _logger = logger;
            _downstreamWebApi = downstreamWebApi;
        }
    
        public async Task OnGet()
        {
            using var response = await _downstreamWebApi.CallApiForUserAsync("DownstreamApi").ConfigureAwait(false);
            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var apiResult = await response.Content.ReadFromJsonAsync<JsonDocument>().ConfigureAwait(false);
                ViewData["ApiResult"] = JsonSerializer.Serialize(apiResult, new JsonSerializerOptions { WriteIndented = true });
            }
            else
            {
                var error = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
                throw new HttpRequestException($"Invalid status code in the HttpResponseMessage: {response.StatusCode}: {error}");
            }
        }
    }
    
  2. Ajoutez l’exemple de code suivant au bas du fichier Index.cshtml. Cette opération gère la façon dont les informations reçues de l’API sont affichées :

    <p>Before rendering the page, the Page Model was able to make a call to Microsoft Graph's <code>/me</code> API for your user and received the following:</p>
    
    <p><pre><code class="language-js">@ViewData["ApiResult"]</code></pre></p>
    
    <p>Refreshing this page will continue to use the cached access token acquired for Microsoft Graph, which is valid for future page views will attempt to refresh this token as it nears its expiration.</p>
    

Test de l’application

Démarrez l’application en sélectionnant Démarrer sans débogage.

  1. En fonction de votre IDE, vous devrez peut-être entrer l’URI d’application dans le navigateur, par exemple https://localhost:7100. Une fois que la fenêtre de connexion s’affiche, sélectionnez le compte auquel vous souhaitez vous connecter. Vérifiez que le compte correspond aux critères de l’inscription de l’application.

    Capture d’écran montrant les options de connexion du compte.

  2. Lorsque vous sélectionnez le compte, une deuxième fenêtre s’affiche pour indiquer qu’un code sera envoyé à votre adresse e-mail. Sélectionnez Envoyer le code, puis vérifiez votre boîte de réception e-mail.

    Capture d’écran montrant un écran pour envoyer un code à l’e-mail de l’utilisateur.

  3. Ouvrez l’e-mail de l’équipe du compte Microsoft de l’expéditeur et entrez le code à usage unique à 7 chiffres. Une fois celui-ci entré, sélectionnez Se connecter.

    Capture d’écran montrant la procédure de connexion à l’aide du code à usage unique.

  4. Pour Rester connecté, vous pouvez sélectionner Non ou Oui.

    Capture d’écran montrant l’option indiquant s’il faut rester connecté.

  5. L’application demande l’autorisation de conserver l’accès aux données auxquelles vous lui avez donné accès, de vous identifier et de lire votre profil. Cliquez sur Accepter.

    Capture d’écran montrant les requêtes d’autorisation.

  6. La capture d’écran suivante s’affiche, indiquant que vous êtes connecté à l’application et que vous avez accédé aux détails de votre profil à partir de l’API Microsoft Graph.

    Capture d’écran montrant les résultats de l’appel d’API.

Se déconnecter de l’application

  1. Recherchez le lien Se déconnecter en haut à droite de la page et sélectionnez-le.
  2. Vous êtes invité à choisir un compte à partir duquel vous souhaitez vous déconnecter. Sélectionnez le compte que vous avez utilisé pour vous connecter.
  3. Un message s’affiche, indiquant que vous vous êtes déconnecté. Vous pouvez maintenant fermer la fenêtre du navigateur.

Étapes suivantes

Découvrez comment utiliser la plateforme d’identités Microsoft en créant une API web avec la série de tutoriels suivante.