Autenticazione e autorizzazione nel servizio app di Azure per app per dispositivi mobiliAuthentication and authorization in Azure App Service for mobile apps

Questo articolo descrive le procedure di autenticazione e autorizzazione durante lo sviluppo di app per dispositivi mobili native con un back-end del servizio app.This article describes how authentication and authorization works when developing native mobile apps with an App Service back end. Il servizio app offre funzionalità integrate di autenticazione e autorizzazione, in modo che le app per dispositivi mobili possano consentire l'accesso agli utenti senza modificare il codice del servizio app.App Service provides integrated authentication and authorization, so your mobile apps can sign users in without changing any code in App Service. Fornisce un modo semplice per proteggere l'applicazione e utilizzare dati per-utente.It provides an easy way to protect your application and work with per-user data.

Questo articolo è incentrato sullo sviluppo di app per dispositivi mobili.This article focuses on mobile app development. Per iniziare rapidamente con le procedure di autenticazione e autorizzazione del servizio app per app per dispositivi mobili, vedere una delle esercitazioni seguenti: Aggiungere l'autenticazione all'app iOS (o Android, Windows, Xamarin.iOS, Xamarin.Android, Xamarin.Forms o Cordova).To get started quickly with App Service authentication and authorization for your mobile app, see one of the following tutorials Add authentication to your iOS app (or Android, Windows, Xamarin.iOS, Xamarin.Android, Xamarin.Forms, or Cordova).

Per informazioni sul funzionamento delle procedure di autenticazione e autorizzazione nel servizio app, vedere Autenticazione e autorizzazione nel servizio app di Azure.For information on how authentication and authorization work in App Service, see Authentication and authorization in Azure App Service.

Autenticazione con SDK del providerAuthentication with provider SDK

Dopo aver completato tutte le configurazioni nel servizio app, è possibile modificare i client per dispositivi mobili per l'accesso con il servizio app.After everything is configured in App Service, you can modify mobile clients to sign in with App Service. Di seguito, sono disponibili due approcci:There are two approaches here:

  • Uso di un SDK pubblicato da un determinato provider di identità per stabilire l'identità e quindi accedere al servizio app.Use an SDK that a given identity provider publishes to establish identity and then gain access to App Service.
  • Uso di una singola riga di codice per consentire all'SDK client delle app per dispositivi mobili di eseguire la procedura di accesso degli utenti.Use a single line of code so that the Mobile Apps client SDK can sign in users.

Suggerimento

La maggior parte delle applicazioni deve usare un SDK del provider per offrire agli utenti un'esperienza di accesso più coerente e per usufruire del supporto dell'aggiornamento del token e di altri vantaggi specificati dal provider.Most applications should use a provider SDK to get a more consistent experience when users sign in, to use token refresh support, and to get other benefits that the provider specifies.

Quando si usa un SDK del provider, gli utenti possono accedere a un'esperienza più integrata con il sistema operativo in cui viene eseguita l'app.When you use a provider SDK, users can sign in to an experience that integrates more tightly with the operating system that the app is running on. Questo metodo mette anche a disposizione un token del provider e alcune informazioni utente sul client, rendendo molto più semplice usare le API Graph e personalizzare l'esperienza utente.This method also gives you a provider token and some user information on the client, which makes it much easier to consume graph APIs and customize the user experience. In blog e forum si trova talvolta la definizione "flusso client" o "flusso verso il client", perché il codice sul client esegue la procedura di accesso degli utenti e il codice client ha accesso a un token del provider.Occasionally on blogs and forums, it is referred to as the "client flow" or "client-directed flow" because code on the client signs in users, and the client code has access to a provider token.

Dopo che è stato ottenuto un token del provider, questo deve essere inviato al servizio app per la convalida.After a provider token is obtained, it needs to be sent to App Service for validation. Dopo che il servizio app ha convalidato il token, crea un nuovo token del servizio app che viene restituito al client.After App Service validates the token, App Service creates a new App Service token that is returned to the client. L'SDK client delle app per dispositivi mobili include metodi helper per la gestione di questo scambio e l'associazione automatica del token a tutte le richieste per il back-end dell'applicazione.The Mobile Apps client SDK has helper methods to manage this exchange and automatically attach the token to all requests to the application back end. Gli sviluppatori possono anche mantenere un riferimento al token del provider.Developers can also keep a reference to the provider token.

Per altre informazioni sul flusso di autenticazione, vedere la sezione Flusso di autenticazione del servizio app.For more information on the authentication flow, see App Service authentication flow.

Autenticazione senza SDK del providerAuthentication without provider SDK

Se non si vuole configurare un SDK del provider, è possibile consentire alla funzionalità App per dispositivi mobili del servizio app di Azure di eseguire la procedura di accesso per conto dell'utente.If you do not want to set up a provider SDK, you can allow the Mobile Apps feature of Azure App Service to sign in for you. L'SDK client delle app per dispositivi mobili aprirà una visualizzazione Web per il provider scelto e completerà l'accesso dell'utente.The Mobile Apps client SDK will open a web view to the provider of your choosing and sign in the user. In blog e forum si trova talvolta la definizione "flusso server" o "flusso verso il server", perché il server gestisce il processo di accesso degli utenti e l'SDK client non riceve mai il token del provider.Occasionally on blogs and forums, it is called the "server flow" or "server-directed flow" because the server manages the process that signs in users, and the client SDK never receives the provider token.

Il codice necessario per avviare questo flusso è incluso nell'esercitazione sull'autenticazione per ogni piattaforma.Code to start this flow is included in the authentication tutorial for each platform. Alla fine del flusso, l'SDK del client ha un token del servizio app che viene associato automaticamente a tutte le richieste per il back-end dell'applicazione.At the end of the flow, the client SDK has an App Service token, and the token is automatically attached to all requests to the application backend.

Per altre informazioni sul flusso di autenticazione, vedere la sezione Flusso di autenticazione del servizio app.For more information on the authentication flow, see App Service authentication flow.

Altre risorseMore resources

Le esercitazioni seguenti illustrano come aggiungere l'autenticazione ai client per dispositivi mobili usando il flusso verso il server:The following tutorials show how to add authentication to your mobile clients by using the server-directed flow:

Se si vuole usare il flusso verso il client per Azure Active Directory, vedere le risorse seguenti:Use the following resources if you want to use the client-directed flow for Azure Active Directory:

Se si vuole usare il flusso verso il client per Facebook, vedere le risorse seguenti:Use the following resources if you want to use the client-directed flow for Facebook:

Se si vuole usare il flusso verso il client per Twitter, vedere le risorse seguenti:Use the following resources if you want to use the client-directed flow for Twitter:

Se si vuole usare il flusso verso il client per Google, vedere le risorse seguenti:Use the following resources if you want to use the client-directed flow for Google: