AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi AWS Cognito Authentifizierung
Thema durchsuchen
Ansicht
Themen-Optionen

AWS Cognito Authentifizierung

Ein Thema von bernau · begonnen am 7. Sep 2023 · letzter Beitrag vom 14. Sep 2023
Antwort Antwort
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#1

AWS Cognito Authentifizierung

  Alt 7. Sep 2023, 18:23
Hallo zusammen,


ich muss für einen Rest-Service, auf den ich zugreifen will, mich vorher über "Amazon AWS Cognito" authentifizieren. Habe ich noch nie gemacht.

Ich denke dass ich mit dem AWS SDK for Delphi aus GetIt die richtige Komponente dafür gefunden habe. Aber ich kommen damit kein Stück weiter.



Hier ein kurzer Auszug, aus dem Mail des Service-Anbieters:


Zitat:
Die Authentifizierung läuft über Amazon Web Services Cognito via SRP.

Daher ist die einfachste Möglichkeit für die Umsetzung die Verwendung der AWS-Cognito-Bibliotheken. Wenn Sie im .NET-Universum unterwegs sind, dann finden Sie die entsprechende Bibliothek hier: https://www.nuget.org/packages/Amazo...uthentication/

Und die Dokumentation mit Anwendungsbeispielen im Github-Projekt hier: https://github.com/aws/aws-sdk-net-extensions-cognito. Dort den Abschnitt "Authenticating with Secure Remote Protocol (SRP)" beachten.

Damit könnte eine Anmeldung in C# so aussehen:


Code:
static async Task GetCredsAsync(string username, string password)
{
 AmazonCognitoIdentityProviderClient provider = new AmazonCognitoIdentityProviderClient(new Amazon.Runtime.AnonymousAWSCredentials());
 CognitoUserPool userPool = new CognitoUserPool("userpool_id", "client_id", provider, "client_secret");
 CognitoUser user = new CognitoUser(username, "client_id", userPool, provider, "client_secret");
 InitiateSrpAuthRequest authRequest = new InitiateSrpAuthRequest()
 {
 Password = password
 };
 AuthFlowResponse authResponse = await user.StartWithSrpAuthAsync(authRequest).ConfigureAwait(false);
 Console.WriteLine(authResponse.AuthenticationResult.IdToken);
}
Die Strings "username", "password", "userpool_id", "client_id" und "client_secret“ müssen dabei durch die entsprechenden Werte ersetzt werden. Das ID-Token muss als Bearer-Token zur Authentifizierung bei den API-Requests übergeben werden.

Sobald ich den Bearer-Token habe, sollte ich mit dem Rest keine Probleme haben.

Vielleicht kann mir jemand Tipps geben.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#2

AW: AWS Cognito Authentifizierung

  Alt 11. Sep 2023, 12:09
push

keiner eine Idee?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: AWS Cognito Authentifizierung

  Alt 11. Sep 2023, 12:16
Ich bin dazu übergegangen in solchen Fällen auch mit C# zu arbeiten und die Funktionalität als DLL in Delphi einzubinden, wenn es dort zu viel Handarbeit wäre. Dafür verwende ich mein AppCentral Projekt, so dass ich über Interfaces direkt mit der C# DLL kommunizieren kann.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: AWS Cognito Authentifizierung

  Alt 11. Sep 2023, 17:24
Oder du schaust Dir diese Präsentation an und hast danach einen Ansatz, jedenfalls für Javascript. Wenn Du das EMBA SDK verwenden willst, schaust Du diese
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all

Geändert von Union (11. Sep 2023 um 17:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: AWS Cognito Authentifizierung

  Alt 11. Sep 2023, 17:37
Wir nutzen seit langem Python (EXE) und seit 'ner Weile als Embedded. (damit auch möglich Funktionen/Klassen/Variablen des DelphiProgramms im Python zu nutzen)
Da hab ich zuletzt nun PIP zum Laufen gebracht
und durch Kapselung können wir nun auch extrem einfach an viel mehr Stellen Python im Code nutzen. (bisher für Reports, Listen und Dergleichen, sowie aktuell zur Anbindung eines externen CAD-Systems)

Für Python gibt es auch viele Komponenten, u.A. für sowas
https://medium.com/@houzier.saurav/a...n-6a2867dd02c6
Vielleicht helfen die Beschreigung auch für eine Implementation im Delphi.


Oder am Besten gleich die ScriptingAPI vom Windows, womit man dann mehrere ScriptSprachen nutzen kann (standardmäßig VBScript, JavaScript und PowerShell), sowie auch Python, wie man es im FinalBuilder bewundern kann.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Sep 2023 um 17:39 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#6

AW: AWS Cognito Authentifizierung

  Alt 14. Sep 2023, 10:00
+1 für die Lösung mittels C#.

Vorteile einer C# Lösung:

* Die bestehende, quelloffene Bibliothek von Amazon kann verwendet werden.
** Für diese existieren Code-Beispiele und Dokumentation.
** Sie wird direkt vom Hersteller gepflegt und ergänzt wenn es Erweiterungen der API gibt.
* .Net ist ohne zusätzliche Downloads verfügbar.
* Integration von C# und Delphi ist auf viele Arten möglich: dateibasiert, oder irgendeine Form der Interprozesskommunikation
* Bei Fragen und Problemen kann hier oder in anderen Foren (Stackoverflow) eine Lösung gesucht / gefunden werden.

Nachteile:
* C# Kenntnisse erforderlich.
Michael Justin
  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 12:54 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