Microsoft 365: Obter informação do utilizador de Azure

Tradução automática de Deepl

Muitas empresas estão a utilizar Microsoft 365 (antigo Office 365). Para além de fornecer acesso a aplicações Office, a Microsoft fornece um Active Directory baseado no Azure, permitindo aos utilizadores entrar para aceder a serviços como o Microsoft Sharepoint ou OneDrive utilizando um Web Browser.

Todos os serviços Microsoft utilizam o mesmo Single Sign-On, com base no endereço de correio electrónico. A partir de 4D v19 R6, 4D NetKit permite-lhe aderir a este conceito, permitindo aos utilizadores iniciar sessão na sua aplicação utilizando as suas credenciais habituais da empresa.

Além de permitir Single Sign-On, permitirá recuperar informações para o utilizador autenticado, tais como e-mail, departamento, e número de telefone. Se o administrador o permitir, poderá mesmo recuperar tais informações sobre colegas da mesma empresa.

Vamos ver como funciona.

Primeiro, para aceder à informação de um utilizador, terá de obter acesso em seu nome e utilizar o New OAuth2 provider comando para criar o seu fornecedor de 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)

Quando o seu fornecedor de OAuth2 estiver pronto, use o comando New Office365 provider comando para instanciar um objecto que irá gerir o acesso à sua conta Microsoft 365 através da API gráfica Microsoft:

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

informação do utilizador

Pode obter a informação do utilizador como displayName, givenName, e muito mais.

Se estiver ligado no modo Sign In, pode obter a informação actual do utilizador:

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

Se pertence à conta “trabalho ou escola” do Azure AD, pode aceder à informação de um utilizador específico da sua organização:

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

ou aceder à lista de todos os utilizadores da sua organização:

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

Consulte a documentação para mais detalhes, e não hesite em partilhar connosco a sua experiência no fórum 4D.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.