先决条件
以下列表显示了在将LWA添加到Vega应用之前所需的事项。- 已在您的计算机上安装Vega SDK。
- 亚马逊开发者账户。
- 现有的Vega应用。可以下载Vega视频示例应用,用作您应用的模板。
- 您的应用必须已经注册Login with Amazon。有关更多信息,请参阅注册Login with Amazon。
- 您的应用的API密钥。有关更多信息,请参阅获取API密钥
- 支持Vega的Fire TV Stick。LWA不支持Vega虚拟设备,因此您需要在一个设备上测试您的集成。
获取API密钥
要在您的应用中使用LWA,您需要提供应用的API密钥。API密钥是一个标识符,亚马逊授权管理器使用它向LWA授权服务识别您的应用。调试应用和生产应用需要不同的API密钥。您可以使用应用程序包ID以及应用MD5和SHA256签名生成API密钥。虽然应用的调试版本和生产版本的程序包ID相同,但您使用不同的过程来检索MD5和SHA256签名。要检索调试应用的签名,请参阅调试应用的MD5和SHA256签名。对于生产应用,请参阅生产应用的MD5和SHA256签名。 按照以下步骤创建API密钥并将其添加到您的LWA账户:- 打开亚马逊应用商店开发者控制台并登录您的账户。
- 创建或打开现有的安全配置文件。有关更多信息,请参阅LWA文档。
- 为您的Vega应用添加API密钥。
- 选择Android/Kindle设置。
-
转到添加API密钥。输入以下信息:
- API密钥名称 - 创建一个名称以标识您的应用。
- 程序包 - 输入程序包ID,例如
com.mycompany.myapp。 - MD5签名 - 输入MD5签名。
- SHA256签名 - 输入SHA256签名。
调试应用的MD5和SHA256签名
- 将Fire TV Stick连接到您的开发计算机。
- 打开终端shell并运行vda
devices命令。 - 确认输出中列出了设备序列号。
- 打开终端shell并运行vda
-
在终端中,运行
vpm info <package_name>。替换 <程序包名称> 为您的应用的程序包名称。您可以在manifest.toml文件中找到程序包的名称。 -
找到签名信息。
- 在命令输出中,找到“Signers info”(签名者信息)部分。
-
挑选任意一位签名者,把其MD5和SHA256签名都记录下来。对于SHA256签名,输出中会有两行内容。用
:连接这两行。例如,如果输出中显示的SHA256是以下内容:SHA256的正确字符串是17:6c:1b:d5:24:d6:0d:6c:e7:88:fd:9c:61:09:c2:01:b2:21:2a:79:66:10:c8:a7:74:64:11:d0:13:39:31
生产应用的MD5和SHA256签名
对于应用的发布或“生产”版本,您必须使用应用商店的MD5和SHA256签名创建额外的API密钥,并将其存储在应用的manifest.toml文件中。对于使用应用内购买 (IAP) 或动态应用测试 (LAT) 的应用,这也是必需的。 可以在开发者控制台中查找亚马逊应用商店证书哈希值,为现有应用创建API密钥。转到我的应用 > 选择应用的当前版本 > 上传您的应用文件> 亚马逊应用商店证书哈希值。从API密钥中提取clientID
API密钥是一个JWT(JSON网络令牌)。您可以解码这个密钥以找到您的clientID,它将用于后端服务。
使用任何JWT解码工具来解码API密钥。
设置
- 将以下库依赖项添加到package.json文件的
dependencies部分。
-
在您的manifest.toml中,添加以下权限并将
api_key替换为您之前获得的API密钥。
用法
示例:给用户授权
以下代码示例演示如何将Authorize调用集成到您的React Native组件中,以启动用户授权流程并获取访问令牌和用户详细信息。
示例:获取授权令牌
以下代码示例演示如何将GetToken调用集成到您的React Native组件中,以检索指定范围的授权令牌。
示例:获取用户详细信息
以下代码示例演示了如何将GetUser调用集成到您的React Native组件中,以获取和显示用户配置文件信息。
示例:让用户退出登录
以下代码示例演示了如何将Signout调用集成到您的React Native组件中,让用户可以安全地退出登录。
API参考
类
- AuthorizationManager—管理与LWATurboModules (Login with Amazon) 的交互。
接口
- AuthorizeCallbacks—AuthorizeCallbacks
- AuthorizeCancellationReason—AuthorizeCancellationReason - 表示可能导致身份验证取消的原因。
- AuthorizeRequest—请求数据对象用于存储授权请求
- AuthorizeSuccessParams—AuthorizeSuccessParams
- GetTokenCallbacks—TokenCallbacks
- GetUserCallbacks—GetUserCallbacks
- Scope—定义OAuth 2.0作用域的编程概念。
- SignOutCallbacks—SignOutCallbacks
- User—User - 表示从用户的亚马逊账户中检索到的用户配置文件信息。
枚举
- GrantTypeName
- ScopeName—包含亚马逊身份支持的所有可能作用域的列表
- Status—表示身份验证和授权错误的各种状态码的枚举。

