From 1ecd7dad82ab56341f53232a26778b88ea4b7754 Mon Sep 17 00:00:00 2001 From: Thomas Reitz Date: Thu, 12 Mar 2026 22:57:20 +0100 Subject: [PATCH] fix(ms365): OAuth-Connect via API-Call statt direktem Browser-Link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: sendet keinen JWT-Authorization-Header (JWT liegt im Memory, nicht als Cookie). Lösung: - Backend: initM365Integration gibt JSON {url} zurück statt server-redirect - Frontend: integrationsApi.connectM365() ruft Endpoint via Axios ab, dann window.location.href zur OAuth-URL - ProfilePage + EmailsTab + CalendarTab + TasksTab: ); } diff --git a/packages/frontend/src/crm/contacts/EmailsTab.tsx b/packages/frontend/src/crm/contacts/EmailsTab.tsx index 4834f48..dd30893 100644 --- a/packages/frontend/src/crm/contacts/EmailsTab.tsx +++ b/packages/frontend/src/crm/contacts/EmailsTab.tsx @@ -31,8 +31,9 @@ export function EmailsTab({ contactId }: Props) {

Verbinden Sie Microsoft 365, um E-Mails zu diesem Kontakt zu sehen.

- integrationsApi.connectM365()} style={{ display: 'inline-flex', alignItems: 'center', @@ -40,14 +41,15 @@ export function EmailsTab({ contactId }: Props) { padding: '0.4375rem 1rem', background: 'var(--color-primary)', color: 'white', + border: 'none', borderRadius: 'var(--radius-sm)', fontSize: '0.875rem', fontWeight: 600, - textDecoration: 'none', + cursor: 'pointer', }} > Microsoft 365 verbinden - + ); } diff --git a/packages/frontend/src/crm/contacts/TasksTab.tsx b/packages/frontend/src/crm/contacts/TasksTab.tsx index 8af2302..dd24764 100644 --- a/packages/frontend/src/crm/contacts/TasksTab.tsx +++ b/packages/frontend/src/crm/contacts/TasksTab.tsx @@ -117,8 +117,9 @@ export function TasksTab({ contactId }: Props) {

Verbinden Sie Microsoft 365, um Aufgaben zu diesem Kontakt zu sehen.

- integrationsApi.connectM365()} style={{ display: 'inline-flex', alignItems: 'center', @@ -126,14 +127,15 @@ export function TasksTab({ contactId }: Props) { padding: '0.4375rem 1rem', background: 'var(--color-primary)', color: 'white', + border: 'none', borderRadius: 'var(--radius-sm)', fontSize: '0.875rem', fontWeight: 600, - textDecoration: 'none', + cursor: 'pointer', }} > Microsoft 365 verbinden - + ); } diff --git a/packages/frontend/src/profile/ProfilePage.tsx b/packages/frontend/src/profile/ProfilePage.tsx index 18fc857..ebd36cc 100644 --- a/packages/frontend/src/profile/ProfilePage.tsx +++ b/packages/frontend/src/profile/ProfilePage.tsx @@ -843,9 +843,9 @@ export function ProfilePage() { Verbinden Sie Ihr Microsoft 365 Konto, um E-Mails, Kalendertermine und Aufgaben direkt in Kontaktprofilen zu sehen.

- integrationsApi.connectM365()} style={{ display: 'inline-flex', alignItems: 'center', @@ -853,17 +853,18 @@ export function ProfilePage() { padding: '0.5rem 1.25rem', background: 'var(--color-primary)', color: 'white', + border: 'none', borderRadius: 'var(--radius-sm)', fontSize: '0.9375rem', fontWeight: 600, - textDecoration: 'none', + cursor: 'pointer', }} > Microsoft 365 verbinden - + )}