Thema: Delphi OAuth2 erste Schritte

Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

OAuth2 erste Schritte

  Alt 2. Nov 2022, 10:15
Hallöle...

Das haben wir verpennt...
Zitat:
Office 365:

Im September 2021 haben wir angekündigt, dass ab dem 1. Oktober 2022 die Standardauthentifizierung für Outlook- und EWS-, RPS-, POP-, IMAP- und EAS-Protokolle in Exchange Online deaktiviert wird. SMTP-Authentifizierung wird auch deaktiviert, wenn sie nicht verwendet wird.
Nun laufen einige Tools mit Abholung von Mails im Hintergrund über POP. Die funktionieren nicht mehr. Umstellung auf OAuth2 ist nötig. (CleverComponents)

Ich habe einiges gelesen, Beispiele ausprobiert (reichlich Fehler - try/error), dann erfolgreich authentifiziert.

Fragen:

1. Die Komponente macht immer eine Browserseite auf. Beim ersten Mal die Frage "Akzeptieren" ist ja noch ok. Aber mit jeder Authentifizierung ein neuer Reiter im Browser. Muß ich einen eigen HTTP bauen der den Request entgegennimmt? Kann man das "abschalten"?
2. Fehlermeldung beim Anmelden trotz "OAuth Authorization Successful!" (interner HTTP der Kompononente) lautet im Beispielprojekt "Im Projekt xxx.exe ist eine Exception der Klasse EclHttpError mit der Meldung 'invalid_client' aufgetreten."
3. Wie bekomme ich das hin, daß das Tool direkt die Mails abholen kann. Erste/einmalige Anmeldung ggf. per Browser ist ok.
4. Irgendwo habe ich gelesen, daß man den Token aus einer funktionierenden Anmeldung "wiederverwenden" kann und man sich damit wieder anmelden kann...
5. Ich mußte im Azure reichlich Einstellungen machen. (App-Registrierungen/Secret/Endpunkte) Wie macht das z.B. Thunderbird? Man kann doch keiner Oma Azure aufbürden?
6. Mit meinen "Zugangsdaten" konnte sich mein Kollege nicht anmelden... Die App ist im Azure imho global registriert. Er kannn sie in seinem Account auch sehen. Was ist falsch?
7. Redirekt:
Zitat:
Die URIs, die wir als Ziele akzeptieren, wenn wir nach der erfolgreichen Benutzerauthentifizierung Authentifizierungsantworten (Token) zurückgeben. Der Umleitungs-URI, den Sie in der Anforderung an den Anmeldeserver senden, muss mit dem hier aufgeführten übereinstimmen.
Die Adresse die mir angeboten wird nicht akzeptiert. "https://login.microsoftonline.com/common/oauth2/nativeclient"
Nur "http://localhost" funktioniert...mit immer neuen Reitern im Browser.

...also wie macht man es richtig.

PS: Die Dokumentationen wiedersprechen sich teilweise. Bsp: Scope: 'https://outlook.office.com/POP.AccessAsUser.All' oder 'wl.imap wl.offline_access' oder 'https://outlook.office365.com/.default'
Manche Beispiele funtionieren nicht...

PS: Alternativen: Indy oder REST brauchbar?
Miniaturansicht angehängter Grafiken
clever.png  

Geändert von haentschman ( 2. Nov 2022 um 10:43 Uhr)
  Mit Zitat antworten Zitat