¿Como puedo solucionar que al intentar autenticarme con InteractiveBrowserCredential.Authenticate() solo me deja poner mails empresariales?

ConsultasDesarrollando 0 Puntos de reputación
2024-12-31T16:16:24.61+00:00

Estoy probando desarrollar un sender de mails con OAUTH 2.0 y primero necesito que aparezca la pantalla de consentimiento que ofrece microsoft para poder acceder al refresh token y luego almacenar el access token localmente.

para esto estaba utilizando el siguiente codigo:Imagen del usuario

El problema es que credential.AuthenticateAsync solo me deja logearme con cuentas empresariales.

En cambio si saco todo esto y lo unico que creo es una credencial de esta manera sin cache, al hacer el post se crea la pantalla de consentimiento y me permite poner cuentas no empresariales y enviar el mail.

Imagen del usuario Espero que puedan ayudarme.

Microsoft Entra ID
Microsoft Entra ID
Un servicio de identidad Microsoft Entra que proporciona funcionalidades de control de acceso y administración de identidades. Reemplaza a Azure Active Directory.
46 preguntas
0 comentarios No hay comentarios
{count} votos

1 respuesta

Ordenar por: Muy útil
  1. Gao Chen 4,705 Puntos de reputación Proveedor de Microsoft
    2024-12-31T22:20:15.9833333+00:00

    Hola ConsultasDesarrollando,

    ¡Bienvenido(a) a Microsoft Q&A!

    Por favor then en cuenta que nosotros no soportamos código ni scripts sin embargo, entiendo que el problema que estás enfrentando con InteractiveBrowserCredential.Authenticate() se debe a la configuración del tenant en tu aplicación. Por defecto, InteractiveBrowserCredential puede estar configurado para autenticar solo cuentas empresariales (cuentas de Azure AD).

    Para permitir la autenticación con cuentas personales (Microsoft Accounts), puedes intentar lo siguiente:

    Configurar el Tenant ID: Verifica que el TenantId esté configurado correctamente en InteractiveBrowserCredentialOptions. Para permitir cuentas personales, puedes usar el valor common para el TenantId.

    var options = new InteractiveBrowserCredentialOptions
    {
        TenantId = "common",
        ClientId = "your-client-id"
    };
    var credential = new InteractiveBrowserCredential(options);
    

    Registrar la Aplicación Correctamente: Asegúrate de que tu aplicación esté registrada en el portal de Azure y que tenga los permisos necesarios para permitir la autenticación de cuentas personales. En el portal de Azure, ve a la sección de "Autenticación" de tu aplicación y asegúrate de que los tipos de cuenta admitidos incluyan "Cuentas personales de Microsoft".

    Usar el Scope Correcto: Verifica que los scopes que estás solicitando sean compatibles tanto con cuentas empresariales como personales.

    Si estos pasos no resuelven el problema, te recomendaría revisar la documentación oficial de InteractiveBrowserCredential. Espero que la información brindada fuera útil, si necesitas más asistencia, estoy a tu disposición.

    Atentamente,

    Gao


    Si esta respuesta resolvió tu consulta, por favor haz clic en 'Aceptar respuesta'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.


Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.