resource microsoft management gratis estudiantes azure office365 adal

microsoft - ¿Cuál es la diferencia exacta entre la aplicación nativa y la aplicación web en Azure Active Directory?



portal azure web (1)

Cuando registramos una aplicación en el Active Directory de Azure para usar la API de gráficos, veo que hay dos tipos de aplicación web y aplicación nativa.

Al crear la aplicación web, se solicitan dos valores: 1. URL de inicio de sesión y 2. URL de ID de la aplicación. ¿Cuál es el uso de estos valores? ¿Necesitamos una URL del mundo real o simplemente https://localhost:randomePort suficiente?

Por otro lado, al crear una aplicación nativa, solo puedo ver un valor requerido ''Redireccionar URL''.

Puedo obtener el token de acceso para la aplicación web mediante una llamada REST

POST https://login.microsoftonline.com/<tenant-id>/oauth2/token grant_type client_credentials client_id (the client ID of the calling service application in the AD) client secret (the key configured in the calling service application in the AD) resource https://graph.windows.net

Pero, ¿cómo puedo obtener el token de acceso para la aplicación nativa utilizando dicha llamada REST? Porque no hay secreto de cliente para la aplicación nativa.

Llegando a los permisos, para la aplicación nativa, puedo ver solo la opción de permisos delegados disponible, mientras que para la aplicación web puedo ver el permiso de la aplicación, así como la opción de permisos delegados.

Una cosa más, el ejemplo de la llamada REST autentica la aplicación. ¿Cómo puedo autenticar al usuario usando su credencial usando la llamada REST?


Las aplicaciones nativas son clientes públicos en el lenguaje OAuth2. Esas aplicaciones están diseñadas para ejecutarse en un dispositivo y no son confiables para mantener un secreto; por lo tanto, su entrada en el directorio no tiene la propiedad correspondiente. Sin un secreto, no hay manera de afirmar la identidad de la aplicación; por lo tanto, tales aplicaciones no pueden obtener permisos de nivel de aplicación y el portal UX refleja eso. Por el contrario, las aplicaciones web son, de nuevo en el lenguaje de OAuth2, clientes confidenciales. Pueden obtener tokens delegados para sus usuarios, pero también pueden usar las credenciales de los clientes para obtener tokens como ellos mismos. Las aplicaciones nativas pueden obtener tokens para el usuario a través de la concesión de autorización OAuth2. Puede encontrar una descripción completa de todas las topologías compatibles en https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/ . Cada descripción de escenario apunta a una orientación más orientada a la implementación.