0

Ich arbeite an einer neuen Universal App (zum ersten Mal) und ich versuche Login mit Amazon als meinen Authentifizierungsanbieter zu verwenden. Amazon stellt kein SDK für .NET für LWA zur Verfügung, so dass ich allein versuchen muss, es herauszufinden.WebAuthenticationBroker in einer universellen App mit Login mit Amazon

Hier ist, was ich bisher tue:

var redirectUrl = "https://localhost/"; 
var baseUrl = "https://amazon.com/ap/oa?client_id=MY_CLIENT_ID&response_type=code&scope=profile"; 
var uri = new Uri(baseUrl); 
var redirectUri = new Uri(redirectUrl); 
WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, uri, redirectUri); 

Dies bringt mich auf die Login mit Amazon Seite ganz gut, und ermöglicht es mir, um sich einzuloggen aber scheint Handoffs zurück ein Problem zu sein.

Alle und alle helfen geschätzt.

Antwort

1

Amazon LWA Developer Guide

Seite 25.

enter image description here

Wie ich sehen kann, verpasst einige erforderlichen Parameter - Umfang und redirest_uri. Spezifizieren Sie sie richtig und wahrscheinlich wird es funktionieren.

Für eine universelle App stellen Sie sicher, dass Sie den Internet Client & Server Capability aktivieren.

+0

Ja, ich habe meine BaseUrl-Zeichenfolge ein wenig schlecht kopiert. Ich habe meine Frage aktualisiert. Wenn Sie das Handbuch zu WebAuthenticationBroker lesen, wird redirect_uri standardmäßig nicht auf die URI der App gesetzt. – Adam

+0

1. Geben Sie redirect uri (z. B. http: // localhost) auf dieser Seite im Abschnitt "Webeinstellungen -> Zugelassene URLs" an. Https://sellercentral.amazon.com/gp/homepage.html 2. WebAuthenticationResult WebAuthenticationResult = erwarten WebAuthenticationBroker.AuthenticateAsync ( WebAuthenticationOptions.None, neuer Uri ("https://www.amazon.com/ap/oa?client_id=CLIENT_ID&response_type=code&scope=profile&redirect_uri=http://localhost"), neuen Uri ("http: // localhost")); – RavingDev

+0

Ja, das bringt mir den Login mit Amazon-Seite, aber nicht zurück zu meiner App. Ich bearbeite meine Frage, um klarzustellen, dass mein Problem darin besteht, die Antwort an meine App zurückzugeben. – Adam

1

Ich habe nicht verwendet WebAuthenticationBroker und Sie haben nicht die Fehlermeldung Sie bekommen zur Verfügung gestellt, also muss ich einige hier zu raten tun ...

Scannen der MSDN-Dokumentation für WebAuthenticationBroker, es sieht aus wie es ist soll mit dem Implicit-Grant-Flow (wo ein Access-Token nach dem Login/der Einwilligung zurückgegeben wird) gegen den Autorisierungs-Grant-Flow arbeiten (wo Sie einen Code zurückbekommen, den Sie dann gegen ein Access-Token austauschen müssen).

Wenn also eine Autorisierungs-Gewährungsantwort statt einer Implicit-Gewährungsantwort zurückgegeben wird, kann dies zu einem Fehler führen, weil die erwarteten Felder fehlen.

Versuchen Sie Ihre response_type von code zu token ändern und sehen, ob das hilft. Wenn dies nicht der Fall ist, poste bitte etwas detailliertere Informationen über den Fehler, den du bekommst.

Verwandte Themen