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

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

Al crear una aplicación web, se requieren dos valores: 1. URL de inicio de sesión y 2. URL de ID de aplicación. ¿De qué sirven estos valores? ¿Necesitamos url del mundo real o simplementehttps: // localhost: randomePort suficiente ?

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

Puedo obtener el token de acceso para la aplicación web usando la 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

En cuanto a los permisos, para la aplicación nativa, solo puedo ver la opción de permisos delegados disponible, mientras que para la aplicación web puedo ver los permisos de la aplicación y la opción de permisos delegados.

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