Microsoft bewerkstelligt diese Anmeldung verschiedener User aussließlich per Browser (oder weiß jemand da etwas anderes ?).
Du benutzt OIDC, das
muss laut Spezifikation im System-Browser passieren.
Diese Anmeldung erledigt ich mit diesem
URL String und einer TWebbrowser Komponente:
Wie gerade gesagt: Du solltest keinen in Deiner Anwendung eingebetteten Browser (Embedded Browser) verwenden, sondern den Systembrowser nutzen.
Siehe u.a. auch hier:
https://www.oauth.com/oauth2-servers...ystem-browser/
Die Hersteller von Identity Providern sollten laut der OIDC-Spezifikation aktiv versuchen zu verhindern, dass eine 3rd Party Anwendung den Login in einem Embedded Browser macht. Google macht das, Microsoft (noch) nicht, aber Du musst jederzeit damit rechnen, das ein Login in einer Browser-Komponente geblockt werden wird.
Jedes mal wenn der User einen neuen AuthToken braucht muss er sich anmelden. Wenn er mehrmals täglich die App schließt muss er also mehrmals Benutzername und Kennwort eingeben.
Das verstehe ich ehrlich gesagt nicht. Welchen OIDC-Client benutzt Du denn?
Du hast bei den Scopes doch "offline_access" angegeben. Du solltest beim Login also neben dem ID-Token und dem
Access-Token auch einen Refresh-Token bekommen. Mit dem Refresh-Token kann Dein OIDC-Client nach dem Neustart der Anwendung mit der Client-ID und dem Client-Secret deiner App wieder ein neues
Access-Token holen, ohne dass sich der User neu anmelden muss. Nur wenn das Refreh-Token abgelaufen ist (wenn ich nicht ganz falsch liege bei der Graph
API 14 Tage nach Ausstellung) muss sich der User neu anmelden.
Ich werde in diesem Zuge allerdings nicht gebfragt ob die Daten in der Ipad Keychain speichern möchte. Weiß jemand, wie man das am besten bewerkstelligen kann?
Benutze den Systembrowser, dann sollte das gehen. Und auch jeder andere Passwort-Manager den der User verwenden möchte.
Am besten wäre es wenn man bei der Anmeldung komplett umd en Browser herum käme aber das ist wo viel ich bis Dato gelesen habe nicht machbar, zumindest nicht wenn man den Zugriff auf userbasis haben möchte.
Um Himmels willen. Nein. Am besten wäre es, wenn alle nur noch den Systembrowser verwenden würden und keine eigenen unsichereren Sonderlocken drumrum bauen wollen würden.