Nuevo en TypeScript y todavía me estoy acostumbrando a Microsoft azuree, así que disculpe la pregunta básica.
Creé una aplicación empresarial que debería poder iniciar sesión en Graph API y leer un perfil de usuario. Tengo la identificación/secreto del cliente, la identificación del inquilino, pero necesito saber cómo inicializar este cliente dentro de TypeScript.
¿Se supone que debo inicializar un GraphClient o hay un Client genérico que puedo usar?
Un enlace a un tutorial/ejemplo o documentación sobre cómo hacer esto sería increíble.
Para el contexto, quiero poder escribir una función para inicializar el cliente y luego escribir la consulta; todos los documentos hablan de varios archivos que no puedo utilizar porque estoy escribiendo esto como una integración de terceros.
Encontré esto pero parece muy complejo y realmente no puedo seguirlo.
¿Hay un equivalente typescript de
client_credential = ClientSecretCredential(tenant_id, client_id, client_secret)
client = GraphClient(credential=self.client_credential,
scopes=['https://graph.microsoft.com/.default']
)
Esta es la forma en que he logrado hacerlo. Desafortunadamente, estoy limitado por el uso de una versión extremadamente antigua del módulo gráfico de Microsoft.
const qs = require('qs');
const MicrosoftGraphClient = require('@microsoft/microsoft-graph-client@1.0.0');
const axios = require('axios@0.27.2');
const getToken = async () => {
try{
const response = await axios.post(
`https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`,
qs.stringify(
{
client_id : clientId,
client_secret: clientSecret,
scope: 'https://graph.microsoft.com/.default',
grant_type: 'client_credentials'
}
))
let tokenSet = response.data;
return tokenSet.access_token;
} catch (error){
console.log(error)
};
}
var client = MicrosoftGraphClient.Client.init({
authProvider: async (done) => {
const token = await getToken()
done(null, token);
}
});