Condividi tramite


Esercitazione: Chiamare un'API e visualizzare i risultati

Nell'esercitazione precedente sono state aggiunte le esperienze di accesso e disconnesso all'applicazione. L'applicazione può ora essere configurata per chiamare un'API Web. Ai fini di questa esercitazione, l'API Microsoft Graph viene chiamata per visualizzare le informazioni sul profilo dell'utente connesso.

Contenuto dell'esercitazione:

  • Chiamare l'API e visualizzare i risultati
  • Testare l'applicazione

Prerequisiti

Chiamare l'API e visualizzare i risultati

  1. In Pagine aprire il file Index.cshtml.cs e sostituire l'intero contenuto del file con il frammento di codice seguente. Verificare che il progetto namespace corrisponda al nome del progetto.

    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. Aprire Index.cshtml e aggiungere il codice seguente alla fine del file. In questo modo vengono gestite le modalità di visualizzazione delle informazioni ricevute dall'API:

    <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>
    

Testare l'applicazione

Avviare l'applicazione selezionando Avvia senza eseguire il debug.

  1. A seconda dell'IDE, potrebbe essere necessario immettere l'URI dell'applicazione nel browser, ad esempio https://localhost:7100. Dopo aver visualizzato la finestra di accesso, selezionare l'account con cui eseguire l'accesso. Assicurarsi che l'account corrisponda ai criteri della registrazione dell'app.

    Screenshot che illustra le opzioni dell'account per l'accesso.

  2. Quando si seleziona l'account, viene visualizzata una seconda finestra che indica che un codice verrà inviato all'indirizzo di posta elettronica. Selezionare Invia codice e selezionare la casella di posta elettronica.

    Screenshot che illustra una schermata per inviare un codice al messaggio di posta elettronica dell'utente.

  3. Aprire il messaggio di posta elettronica dal team dell'account Microsoft mittente e immettere il codice a uso singolo a 7 cifre. Dopo aver immesso, selezionare Accedi.

    Screenshot che illustra la procedura di accesso con codice a uso singolo.

  4. Per Resta connesso, è possibile selezionare No o .

    Screenshot che illustra l'opzione che indica se rimanere connessi.

  5. L'applicazione richiede l'autorizzazione per mantenere l'accesso ai dati a cui è stato concesso l'accesso e per accedere e leggere il profilo. Selezionare Accetta.

    Screenshot che illustra le richieste di autorizzazione.

  6. Viene visualizzata la schermata seguente, che indica che è stato eseguito l'accesso all'applicazione e che è stato eseguito l'accesso ai dettagli del profilo dall'API Microsoft Graph.

    Screenshot che illustra i risultati della chiamata API.

Disconnettersi dall'applicazione

  1. Trovare il collegamento Disconnetti nell'angolo superiore destro della pagina e selezionarlo.
  2. Viene richiesto di selezionare un account da cui disconnettersi. Selezionare l'account usato per accedere.
  3. Viene visualizzato un messaggio che indica che si è disconnesso. È ora possibile chiudere la finestra del browser.

Passaggi successivi

Informazioni su come usare Microsoft Identity Platform creando un'API Web con la serie di esercitazioni seguente.