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
 
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#1

AWS Cognito Authentifizierung

  Alt 7. Sep 2023, 17: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
 


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:45 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