0

Wir möchten eine API App erstellen (Hauptzweck ist es, kontaktieren unsere Organisationen Office 365 Graph Endpoint und senden Sie E-Mail) in Azure .. jedoch unsere Front-End-Website verwendet nicht Azure AD für die Benutzerauthentifizierung .. aber wollen wir unsere Backend APi können E-Mail senden, um in einem der folgenden Wege 1) senden E-Mail als beliebiger Benutzer 2) senden E-Mail im Auftrag eines DienstkontoGraph API - Daemon App mit Benutzereinwilligung

wir versuchen, das erkunden Mögliche Optionen und basierend auf den bisher durchgeführten Untersuchungen kann dies (Option 1) unter Verwendung von admin_consent durchgeführt werden - Kann jemand mit den Schritten helfen, die wir befolgen müssen, um solche Apps zu erstellen und zu implementieren.

Zusätzlich gibt es eine Möglichkeit, eine API-Anwendung zu erstellen, ohne dass während der Ausführung der API ein Anmeldebildschirm angezeigt wird - während user_consent verwendet wird?

Antwort

0

Option 1

Um für eine App/daemon E-Mail als jeder Benutzer zu senden, muss es die Mail als jeder Benutzer App Genehmigung senden.

Geben Sie der App die Berechtigung für die Microsoft Graph-API und erteilen Sie dann die Berechtigung, indem Sie im Portal auf die Schaltfläche Berechtigungen erteilen klicken oder den Genehmigungsablauf für Administratoren durchlaufen.

Ihre API kann sich dann mit ihren Client-Anmeldeinformationen authentifizieren und ein Zugriffstoken zum Senden von E-Mails abrufen.

Die schlechte Seite dieses Ansatzes sollte offensichtlich sein, die App erhält Rechte zum Senden von E-Mails als jemand in Ihrer Organisation.

Option 2

Sie alternativ ein Konto für die API erstellen konnte, und dann den Fluss Passwort Erteilung Ressourceneigentümer für die Authentifizierung verwenden. Sie würden dann die delegierte Berechtigung zum Senden von E-Mails als angemeldeter Benutzer erteilen.

Die schlechte Seite davon ist der Ablauf für die Authentifizierung. Wenn das Kennwort des Kontos abläuft, gibt es keine Möglichkeit, es von dort zurückzusetzen. Sie müssten eingreifen, um das Problem zu beheben.

Zustimmung

Sie nicht durch Zustimmung, ohne den Browser UI gehen kann.

+0

Thankyou @juunas, sieht aus wie ** Option # 2 ** ist keine Wahl in meinem Fall, Ressourcenbesitzer Passwort gewähren Fluss funktioniert nur, wenn meine dev-Maschine mit meinem Unternehmen VPN verbunden ist, also wenn ich meine API in hosten azurblau funktioniert das nicht, ohne dass ein virtuelles Netzwerk eingerichtet wird. ** Option # 1 ** wird auch aufgrund meiner Diskussion mit unserem Sicherheitsteam ausgeschlossen, das Eigentümer des azure active-Verzeichnisbesitzes unserer Organisation ist. Ist das möglich? admin ermöglicht der App das Senden von E-Mails als einzelner Benutzer (Service acc) in der Organisation Meine App kann Clientanmeldeinformationen verwenden und E-Mails von diesem acc senden –

+1

Wenn Sie nach der Berechtigung app-only client_credentials fragen, die auf "beschränkt ist arbeiten mit "bestimmten Accounts, wir haben dies nicht heute AFAIK, obwohl es * möglich sein könnte, wenn Exchange Online es Ihnen erlaubt einzuschränken, was Ihre App API tun darf. Wie auch immer, wenn Sie danach suchen, stellen Sie bitte eine Anfrage auf Uservoice https: //officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/kategorie/101632-microsoft-graph-o365-rest-apis –

+0

Ja @ DanKershaw-MSFT, ich versuche genau dasselbe zu tun .. ich nahm mein Szenario und Idee in folgenden https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/19188046-app-only-client-credentials-permission-for-consent –