0

私は新しいユニバーサルアプリケーション(初めて)を開発しており、認証プロバイダとしてAmazonでログインを使用しようとしています。 AmazonはLWA用の.NET for SDKを提供していないので、私自身はそれを理解しようとしています。ここでWebAuthenticationBrokerユニバーサルアプリケーションでログインしている場合Amazonで

は、私がこれまでやっているものです:

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); 

これはうまくアマゾンのページでログインに私を取得し、私がログインすることができますが、バックハンドオフが問題のようです。

ありがとうございました。 範囲redirest_uri - 私が見ることができるように

答えて

1

Amazon LWA Developer Guide

25ページ

enter image description here

あなたは、いくつかの必要なパラメータを逃しました。それらを適切に指定するとおそらく動作します。

ユニバーサルアプリケーションの場合は、インターネットクライアント&サーバー機能を有効にしてください。

+0

はい、私は少しうまく私のbaseUrl文字列をコピー貼り付けました。私は私の質問を更新しました。 WebAuthenticationBrokerのマニュアルを読むと、redirect_uriを指定しないと、デフォルトでアプリケーションのURIにredirect_uriが設定されます。 – Adam

+0

1.このページの「ウェブ設定 - >許可されたリターンURL」のリダイレクトuri(たとえばhttp:// localhost)を指定します。https://sellercentral.amazon.com/gp/homepage.html 2. WebAuthenticationResult WebAuthenticationResult = WebAuthenticationBroker.AuthenticateAsyncを待つ( WebAuthenticationOptions.None、 新しいウリ( "https://www.amazon.com/ap/oa?client_id=CLIENT_ID&response_type=code&scope=profile&redirect_uri=http://localhost")、 新しいウリ( "http:// localhost")); – RavingDev

+0

さて、それは私にアマゾンのページでのログインを取得しますが、私のアプリケーションには戻っていません。質問を編集して、問題が自分のアプリに返信されていることを明確にします。 – Adam

1

私はWebAuthenticationBrokerを使用していないと、あなたが取得しているエラーメッセージを提供していないので、私はいくつかは、ここで推測しなければならない...

は、WebAuthenticationBrokerのためのMSDNドキュメントをスキャンすることがありますように見えます暗黙の許可フロー(ログイン/同意の後にアクセストークンが返される場所)と認可グラントフロー(アクセストークンを交換する必要があるコードを取得する場所)で動作することを意味します。

したがって、暗黙の許可応答ではなく認可許可応答が返されている場合、期待されるフィールドがないため、エラーがスローされる可能性があります。

response_typecodeからtokenに変更してみてください。そうでない場合は、エラーの詳細を投稿してください。

関連する問題