0

J'intègre une application web asp.net avec le courrier électronique office 365 en utilisant la bibliothèque cliente o365 api.Comment se connecter au bureau 365 email par programme en utilisant o365 api client librarary C# code

Je souhaite me connecter en utilisant le code C# et non en affichant le signe de l'interface utilisateur Microsoft (https://login.microsoftonline.com/login.srf).

Si je fournis un nom d'utilisateur/mot de passe pour un utilisateur et si le nom d'utilisateur/mot de passe est correct, il doit authentifier l'utilisateur pour voir les mails office 365 de l'application web asp.net.

Merci d'avance.

+0

Vous voulez vous connecter à O365 sans la page de connexion ou simplement envoyer des courriels de notification du serveur Web? –

+0

Je veux me connecter à O365 sans page de connexion et accéder à la boîte aux lettres Office 365 que j'ai déjà développée dans mon application web ASP.Net en utilisant la bibliothèque O365 API Client. Actuellement, j'utilise le code ci-dessous pour vérifier si l'utilisateur s'est connecté ou non. si (Request.IsAuthenticated!) { HttpContext.Current.GetOwinContext() Authentication.Challenge ( nouveaux AuthenticationProperties {RedirectUri = "/"}, OpenIdConnectAuthenticationDefaults.AuthenticationType). } –

Répondre

0

Le but d'OAUTH est de vous protéger et de protéger vos utilisateurs. Dès que vous commencez à stocker des informations d'identification, vous êtes responsable de la sécurisation de ces informations d'identification.

Je suppose que vous cherchez à accéder aux données d'un utilisateur via un processus dorsal. Ce workflow requiert l'étendue "offline_access". Hors ligne ne signifie pas "déconnecté d'Internet" mais plutôt que l'utilisateur final est "hors ligne" de votre application (pas en mesure d'interagir avec un UX).

Vous devez exécuter un flux de travail OAUTH Code Grant et ajouter "openid" et "offline_access" à vos étendues. Cela vous donnera à la fois un id_token qui peut être utilisé pour frapper les API Office ainsi qu'un refresh_token que vous pouvez utiliser pour obtenir un nouveau id_token lorsque le jeton existant expire. Les jetons d'actualisation peuvent être utilisés même si l'utilisateur final est hors ligne (aucun UX n'est impliqué). Une fois que vous avez id_token et refresh_token, vous pouvez utiliser ces valeurs pour interagir avec O365 au nom de l'utilisateur final. Un exemple courant serait la synchronisation des calendriers. La première fois qu'un utilisateur devra s'authentifier et configurer (c'est-à-dire quels calendriers veulent-ils synchroniser). A partir de là, votre serveur utilise id_token et refresh_token pour fonctionner sans que l'utilisateur soit en ligne (le terme "offline_access").

+0

Merci pour votre avis. Supposons que j'ai stocké un ID de messagerie Office 365 pour un utilisateur dans ma base de données. J'ai également stocké l'ID utilisateur/mot de passe Office 365 pour cet utilisateur de messagerie dans la base de données. Est-il possible de voir les détails du courrier pour l'ID de courrier stocké depuis mon application Asp.Net en utilisant "offline_access"? Si vous avez des échantillons de code correspondant à mes exigences plz share. –

+0

Les seules données que vous devriez stocker sont les jetons. Utiliser OAUTH signifie que vous ne voyez, ne collectionnez et ne stockez jamais les informations d'identification de quelqu'un. Tout ce processus est géré par le fournisseur. Le fournisseur renvoie les jetons dont vous avez besoin pour interagir avec ce fournisseur et leur API. –

+0

Merci pour vos conseils. En fait, j'ai besoin d'envoyer/supprimer/transférer les mails du bureau 365 à partir de mon propre compte et aussi de voir les détails du mail o365 pour les autres utilisateurs de mon application asp.net. Y at-il une meilleure suggestion de votre part pour répondre à mes exigences au lieu d'utiliser OAUTH/ADAL que j'utilise actuellement? –