Autenticación y autorización en Azure App Service para aplicaciones móvilesAuthentication and authorization in Azure App Service for mobile apps

En este artículo se describe cómo funcionan la autenticación y autorización al desarrollar aplicaciones móviles nativas con un back-end de App Service.This article describes how authentication and authorization works when developing native mobile apps with an App Service back end. App Service proporciona autenticación y autorización integradas, así las aplicaciones móviles pueden iniciar la sesión de los usuarios sin cambiar ningún código de dicho servicio.App Service provides integrated authentication and authorization, so your mobile apps can sign users in without changing any code in App Service. Ofrece una forma fácil de proteger su aplicación y trabajar con datos por usuario.It provides an easy way to protect your application and work with per-user data.

Este artículo se centra en el desarrollo de aplicaciones móviles.This article focuses on mobile app development. Para empezar a trabajar rápidamente con la autenticación y autorización de App Service para su aplicación móvil, consulte uno de los siguientes tutoriales Incorporación de la autenticación a la aplicación iOS (o el sistema operativo que corresponda en su caso: 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).

Para información sobre cómo funcionan la autenticación y autorización en App Service, consulte Autenticación y autorización en Azure App Service.For information on how authentication and authorization work in App Service, see Authentication and authorization in Azure App Service.

Autenticación con el SDK de proveedorAuthentication with provider SDK

Cuando todo se haya configurado en App Service, puede modificar los clientes móviles para que inicien sesión con este servicio.After everything is configured in App Service, you can modify mobile clients to sign in with App Service. Hay dos enfoques aquí:There are two approaches here:

  • Use un SDK que un proveedor de identidades determinado establezca la identidad y después obtener acceso a App Service.Use an SDK that a given identity provider publishes to establish identity and then gain access to App Service.
  • Permita que los usuarios inicien sesión en el SDK del cliente de Mobile Apps con una sola línea de código.Use a single line of code so that the Mobile Apps client SDK can sign in users.

Sugerencia

La mayoría de las aplicaciones deben usar un SDK de proveedor para obtener una experiencia más coherente cuando los usuarios inician sesión, para usar la compatibilidad con la actualización de tokens y para obtener otros beneficios que especifica el proveedor.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.

Cuando se utiliza un SDK del proveedor, los usuarios pueden iniciar sesión en una experiencia que se integra más estrechamente con el sistema operativo que la aplicación en la que se está ejecutando.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. Este método también le proporciona un token del proveedor e información de usuario sobre el cliente, lo que facilita en gran medida el consumo de API de grafos y la personalización de la experiencia del usuario.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. En ocasiones, en blogs y foros, se le conoce como "flujo de cliente" o "flujo dirigido al cliente", porque el código en el cliente inicia la sesión de los usuarios y el código de cliente tiene acceso a un token del proveedor.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.

Una vez que se obtiene un token del proveedor, debe enviarse a App Service para su validación.After a provider token is obtained, it needs to be sent to App Service for validation. Después de que App Service valida el token, crea un nuevo token de App Service que se devuelve al cliente.After App Service validates the token, App Service creates a new App Service token that is returned to the client. El SDK de cliente de Mobile Apps dispone de métodos de asistente para administrar este intercambio y asociar automáticamente el token a todas las solicitudes en el back-end de la aplicación.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. El desarrollador también puede mantener una referencia al token del proveedor.Developers can also keep a reference to the provider token.

Para más información sobre el flujo de autenticación, consulte Flujo de autenticación de App Service.For more information on the authentication flow, see App Service authentication flow.

Autenticación sin proveedor de SDKAuthentication without provider SDK

Si no desea configurar un SDK del proveedor, puede permitir que la característica de Azure App Service Mobile Apps para iniciar sesión automáticamente.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. El SDK del cliente de Mobile Apps abrirá una vista web al proveedor de su elección y permitirá que el usuario inicie sesión.The Mobile Apps client SDK will open a web view to the provider of your choosing and sign in the user. En ocasiones, en blogs y foros, se conoce como "flujo de servidor" o "flujo dirigido al servidor", pues el servidor administra el proceso que inicia la sesión de los usuarios y el SDK del cliente nunca recibe el token del proveedor.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.

El código para iniciar este flujo se incluye en el tutorial de autenticación para cada plataforma.Code to start this flow is included in the authentication tutorial for each platform. Al final del flujo, el SDK del cliente tiene un token de App Service que se adjunta automáticamente a todas las solicitudes para el back-end de la aplicación.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.

Para más información sobre el flujo de autenticación, consulte Flujo de autenticación de App Service.For more information on the authentication flow, see App Service authentication flow.

Más recursosMore resources

Los siguientes tutoriales muestran cómo incorporar la autenticación a los clientes móviles con el flujo dirigido al servidor:The following tutorials show how to add authentication to your mobile clients by using the server-directed flow:

Si desea usar el flujo dirigido al cliente para Azure Active Directory, use los siguientes recursos:Use the following resources if you want to use the client-directed flow for Azure Active Directory:

Si desea usar el flujo dirigido al cliente para Facebook, use los siguientes recursos:Use the following resources if you want to use the client-directed flow for Facebook:

Si desea usar el flujo dirigido al cliente para Twitter, use los siguientes recursos:Use the following resources if you want to use the client-directed flow for Twitter:

Si desea usar el flujo dirigido al cliente para Google, use los siguientes recursos:Use the following resources if you want to use the client-directed flow for Google: