es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿OAuth 2L hacia la cuenta de Microsoft Outlook/Azure? ¿Cuentas de servicio en Azure?

Tratando de hacer que nodemailer funcione con Outlook y enviar correos electrónicos desde el correo electrónico de Outlook. Necesito la clave privada, la clave de acceso y el serviceClient, preferiblemente que no caduquen. Y no veo ninguna forma de obtener esos datos para Azure, para Google fue lo suficientemente simple, solo obtuve la cuenta de servicio, pero Azure no tiene esa opción, solo tiene el secreto del cliente y los certificados.

Necesito algo como esto:

let transporter = nodemailer.createTransport({
    host: 'Outlook365',
    auth: {
        type: 'OAuth2',
        user: 'MYOUTLOOKEMAIL@DOMAIN.COM',
        serviceClient: '113600000000000000000',
        privateKey: '-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBg...',
        accessToken: 'ya29.Xx_XX0xxxxx-xX0X0XxXXxXxXXXxX0x',
        expires: 1484314697598
    }
});

Este es el problema relacionado.

¿Qué es necesario para obtener información de cuenta de servicio de Microsoft / Azure para mi caso de uso? Probablemente tenga que registrar una aplicación con ellos, pero no encontré ninguna forma de obtener una cuenta de servicio. Lo necesito para comunicación de servidor a servidor sin interacción humana.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener la información necesaria para la comunicación SERVIDOR-A-SERVIDOR con Microsoft/Azure, deberá registrar una aplicación en el Portal de Azure.

    Estos son los pasos para obtener la información:

    1. Vaya al Portal de Azure e inicie sesión en su cuenta.
    2. En el menú de la izquierda, haga clic en “Azure Active Directory”, luego haga clic en “Registro de aplicaciones”.
    3. Haga clic en “Nuevo registro” y complete la información necesaria para su aplicación.
    4. Después de registrar su aplicación, navegue hasta la pestaña “Certificados y secretos”.
    5. Haga clic en “Nuevo secreto de cliente” y establezca un tiempo de expiración para él o elija “Nunca” para hacer que no expire.
    6. Guarde el secreto del cliente en un lugar seguro, ya que no podrá verlo de nuevo.
    7. Use el “ID de aplicación (cliente)” de la pestaña “Información general” como valor del servicio cliente.
    8. Use el valor del secreto del cliente como valor de privateKey.
    9. Use el siguiente alcance: https://outlook.office365.com/.default
    10. Utilice la siguiente URL como su punto final de autorización: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
    11. Utilice la siguiente URL como su punto final de token: https://login.microsoftonline.com/common/oauth2/v2.0/token

    Con esta información, debería poder autenticarse con Outlook365 y utilizar nodemailer para enviar correos electrónicos.

Comments are closed.