AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Ios App Microsoft Graph Api Passwort speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Ios App Microsoft Graph Api Passwort speichern

Ein Thema von oakley · begonnen am 14. Jan 2023 · letzter Beitrag vom 16. Jan 2023
Antwort Antwort
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#1

Ios App Microsoft Graph Api Passwort speichern

  Alt 14. Jan 2023, 19:53
Hallo zusammen,

ich habe nunmehr endlich von Apple mein Developer Account frei geschaltet bekommen und habe auch direkt los gelegt.
Ich müsste einen Zugriff auf die Microsoft Graph Api machen und das Ganze funktioniert auch so weit.
Wichtig ist, dass sich die User mit Benutzernamen und Kennwort bei der Graph Api anmelden müssen, denn nicht alle user haben Zugriff auf die dementsprechenden Funktionen.

Microsoft bewerkstelligt diese Anmeldung verschiedener User aussließlich per Browser (oder weiß jemand da etwas anderes ?).
Diese Anmeldung erledigt ich mit diesem URL String und einer TWebbrowser Komponente:

Code:
 
UrlStr := 'https://login.microsoftonline.com/xxx/oauth2/v2.0/authorize' +
            '?client_id=xxx' +
            '&client_secret=xxx' +
            '&response_type=code' +
            '&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient' +
            '&response_mode=query' +
            '&scope=openid User.Read offline_access Notes.Create Notes.Read.All Notes.Read.All Notes.ReadWrite Notes.ReadWrite.All Notes.ReadWrite.CreatedByApp';
Ihr seht, es geht um OneNote.

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.
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?

Ich habe das gleiche als Windows Programm gemacht und da funktioniert es (auch TWebbrowser Komponente).

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.

LG

Mirko
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#2

AW: Ios App Microsoft Graph Api Passwort speichern

  Alt 16. Jan 2023, 09:22
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#3

AW: Ios App Microsoft Graph Api Passwort speichern

  Alt 16. Jan 2023, 12:23
Alles klar, danke für die Infos damit komme ich erstmal weiter.
Ich baue also um auf Systembrowser.

LG

Mirko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz