Conectați calendarele Google și Microsoft peste OAuth, pe aplicația pe care cutia poștală o folosește deja

FeatureEmailService
Expediere
5 septembrie 2026 la 06:31 UTC
Autor
Kamo
Comite
cbc238a

Conectarea filei CalDAV/CardDAV prin intermediul butonului OAuth Fluxul nu a fost implementat și de a configura acreditările prin API. Acum ruleaza o conexiune reala, si constrângerea care a modelat este ca o redirecționare OAuth URI trăiește într-o consolă Third Party: Google și Entra fiecare deține exact unul adresa pentru fiecare înregistrare a aplicației, tastată de oricine a înregistrat-o, așa că o secundă Fluxul nu poate avea un al doilea apel înapoi. Prin urmare, ambele fluxuri de teren la adresa deja înregistrate și sunt spuse în afară de printr-un marker de flux în interiorul statului -- OauthFlowKind, absent însemnând EMAIL astfel încât apelurile în zbor să continue să completeze unde Întotdeauna au făcut-o. Nicio schimbare de consolă, nicio rută nouă, nicio sesiune nouă. exceptare pentru o cale publică. Ce acţiuni de flux nou cu cutia poştală aceasta acţionează în mod deliberat: - Înregistrarea aplicaţiei. Groupware OAuthService solicită PlatformaOauthClientRezolvator aceeași întrebare pe care o pune fila de configurare a furnizorului -- propria Google a organizației sau aplicația Entra în cazul în care aceasta a înregistrat unul acolo, altceva aplicația platforma Kamo - așa Acreditările introduse o dată servesc atât, cât și o org care nu are nici spus așa mai degrabă decât trimis la un ecran de consimțământ care respinge un client id gol. - Redirecţionarea URI, citită de la ********************* decât Repetat. O copie, pentru că o secundă ar fi o redirecționare uri mismatch așteptare pentru ca cineva să-şi dea un telefon înapoi, şi este deja acoperit de OAuthRedirectUriTest împotriva mesei comune OAuthCallbackPaths. Ceea ce nu împărtășește este grantul. Cere mai degrabă calendar şi contacte decât Gmail și Admin SDK, și stochează jetoanele sale pe org Contact Integrare mai degrabă decât rândul furnizor de e-mail, astfel încât să conectați calendare nu poate deranja o cutie poştală de lucru. Opţiuni de citire-scriere, nu numai: sincronizare bidirecţională este un comutator pe care membrul îl răstoarnă după consimțământ, iar domeniul de aplicare este fixat la consimțământ. Conectarea se dovedeşte înainte de a raporta succesul -- se citeşte contul că acces acordat și listează un calendar. Un grant care nu poate citi calendare sau care s-au întors cu nici un semn de reîmprospătare, este stocat și marcat cu ce să facă despre ea; ambele sunt altfel invizibile până la o sincronizare rula zile mai târziu. Acreditive sunt scrise in forma celor patru reîmprospătatoare existente deja citite de tasta string (accessToken / refreshToken / tokenExpiry as epoch millis / clientId / ClientSecret / chiriaș), astfel încât o conexiune rămâne în viață fără alte lucrări, și GroupwareOauthServiceTest pini aceste nume: redenumit o compilare, implementari, Se conectează şi nu mai lucrează o oră mai târziu. De-a lungul, trei fixuri în aceeași suprafață: - GET /settings/integrations/org returned the entity, which put the org's AES-criptate acreditări Blob într-un organism de răspuns, un cache browser și fiecare jurnal proxy între aici și membru, pe fiecare sarcină de un ecran care niciodată citeste terenul. Ambele obiective org returnează acum o vedere explicită a rândului, Să raportezi doar dacă o acreditare este la dosar. - applyConfig citeste Acceptă ambele. - clearOrgCredentials, asa ca Deconecteaza uita bursa fara a reseta Sincronizarea opţiunilor alese de membru -- care eliminăOrgIntegrarea. Sincronizarea calendarelor și contactelor în sine este neschimbată și încă neconstruită: Google și Microsoft GroupwareProviders sunt coturi care deleagă DB local, FurnizorRegistry leagă KamoGroupwareProvider indiferent de tipul furnizorului, și Sincronizarea lui DaemonService nu face decât să se sincronizeze. Acest lucru aterizează cele credibile va avea nevoie, și nimic încă citește.

Toate modificările

Ca ceea ce vezi de transport maritim?

Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.

Pornește gratuit pentru totdeaunaVezi prețurile