0

我正在开发一个新的通用应用程序(第一次),我正在尝试使用 Login with Amazon 作为我的身份验证提供程序。Amazon 没有为 LWA 提供适用于 .NET 的开发工具包,所以我只能自己尝试解决。

到目前为止,这是我正在做的事情:

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

这让我可以很好地登录亚马逊页面,并允许我登录,但交回似乎是个问题。

任何和所有的帮助表示赞赏。

4

2 回答 2

1

亚马逊 LWA 开发人员指南

第 25 页。

在此处输入图像描述

正如我所看到的,您错过了一些必需的参数 - scoperedirest_uri。正确指定它们,它可能会起作用。

对于通用应用程序,请确保启用 Internet 客户端和服务器功能。

于 2016-08-07T10:02:20.800 回答
1

我没有使用 WebAuthenticationBroker 并且您没有提供您收到的错误消息,所以我必须在这里做一些猜测......

扫描 WebAuthenticationBroker 的 MSDN 文档,看起来它适用于隐式授权流(在登录/同意后返回访问令牌)与授权授权流(在其中你得到一个代码,然后你必须交换一个访问令牌)。

因此,如果它返回的是授权授权响应而不是隐式授权响应,它可能会抛出错误,因为它缺少预期的字段。

尝试将您的response_typefrom更改codetoken,看看是否有帮助。如果没有,请发布有关您遇到的错误的更多详细信息。

于 2016-08-08T16:07:37.430 回答