Microsoft 365: Obtenga información de los usuarios de Azure

Traducido automáticamente de Deepl

Muchas empresas utilizan Microsoft 365 (antiguo Office 365). Además de proporcionar acceso a las aplicaciones de Office, Microsoft ofrece un Directorio Activo basado en Azure, que permite a los usuarios iniciar sesión para acceder a servicios como Microsoft Sharepoint o OneDrive utilizando un navegador web.

Todos los servicios de Microsoft utilizan el mismo Single Sign-On, basado en la dirección de correo electrónico. A partir de 4D v19 R6, 4D NetKit le permite unirse a este concepto, permitiendo a los usuarios iniciar sesión en su aplicación utilizando sus credenciales habituales de la empresa.

Además de permitir el Single Sign-On, permitirá recuperar la información del usuario autentificado, como el correo electrónico, el departamento y el número de teléfono. Si el administrador lo permite, puede incluso recuperar estos detalles sobre los colegas de la misma empresa.

Veamos cómo funciona.

En primer lugar, para acceder a la información de un usuario, tendrá que obtener acceso en su nombre y utilizar el comando New OAuth2 provider para crear su proveedor OAuth2:

$param:=New object()
$param.name:="Microsoft"
$param.permission:="signedIn"
$param.clientId:="XXX"
$param.redirectURI:="http://127.0.0.1:50993/authorize/"
$param.scope:="https://graph.microsoft.com/.default"
// Create new OAuth2 object
$tokenProvider:=New OAuth2 provider($param)

Cuando su proveedor OAuth2 esté listo, utilice el comando New Office365 provider para instanciar un objeto que gestionará el acceso a su cuenta de Microsoft 365 a través de la API de Microsoft Graph:

var $Office365 : cs.NetKit.Office365Provider
$Office365:=New Office365 provider($tokenProvider)

información del usuario

Puedes obtener la información del usuario como displayName, givenName, y más.

Si está conectado en el modo de inicio de sesión, puede obtener la información del usuario actual:

$currentUser:=$Office365.user.getCurrent()
//$currentUser=
//{displayName:My Name,givenName:Name,mail:myname@mycompany.com,...}

Si perteneces a la cuenta «trabajo o escuela» de Azure AD, puedes acceder a la información de un usuario específico de tu organización:

$user:=$Office365.user.get("myname@mycompany.com")

o acceder a la lista de todos los usuarios de tu organización:

$users:=$Office365.user.list()

Consulte la documentación para más detalles, y no dude en compartir con nosotros su experiencia en el foro de 4D.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.