API 密钥身份验证
在此页面上
Overview
API 密钥身份验证提供者允许用户使用生成的密钥登录。
App Services 支持以下两种类型的 API 密钥:
服务器 API 密钥:与从 App Services CLI、API 或用户界面创建的服务器用户相关联的 API 密钥。
用户 API 密钥:从与应用程序用户关联的 Realm 软件开发工具包创建的 API 密钥。
API 密钥不会自动过期。
启用 API 密钥身份验证
要使用 API 密钥用户,必须首先启用 API 密钥身份验证提供者。API 密钥身份验证提供者没有任何配置选项。
您可以通过从Authentication页面选择 API Keys ,从App Services用户界面启用和配置API密钥身份验证提供者。
要使用 :ref:`App Services CLI <appservices-cli>`
启用和配置API密钥身份验证提供者,请在/auth/providers.json
中为其定义一个配置对象。
API 密钥提供商配置采用以下形式:
{ "api-key": { "name": "api-key", "type": "api-key", "disabled": false } }
提示
身份验证提供者的 name
始终与其 type
相同。
API 密钥用户对象
每个 App Services 用户都有一个唯一的元数据对象。该对象会传递给用户调用的函数以及用户所发出请求的规则表达式。在 API 密钥用户对象中,type
字段的值为 "server"
。例如:
{ id: "<Unique User ID>", type: "server", data: <user data object>, custom_data: <custom user data object>, identities: <array of user identities>, }
您可以使用此字段评估请求是否来自 API 密钥。
有关详细信息,请参阅用户对象。
服务器 API 密钥
服务器 API 密钥是使用 App Services CLI、API 或用户界面之一在服务器端上下文中生成的。创建服务器 API 密钥时,您还可以创建关联的服务器用户。
您可向外部应用程序和服务提供服务器密钥,以允许它们直接通过 App Services 进行身份验证。
一个应用程序最多可关联 100 个服务器 API 密钥。
创建服务器 API 密钥
必须先启用 API 密钥提供者,然后才能创建 API 密钥。
重要
创建服务器密钥后,必须立即复制其值。创建 API 密钥后,你将无法再检索它。
从左侧导航菜单中选择 App Users。
选择 Authentication Providers 按钮,然后选择 API Keys 提供者。
如果当前未启用 API 密钥提供商,则必须启用它,然后部署更改,然后才能创建密钥。
单击 Create API Key(连接)。
输入密钥的唯一名称,然后单击 Save。
要创建新的服务器 API 密钥,请调用 appservices users create
并指定 --type=api-key
。CLI 将提示您输入应用程序 ID 以及新 API 密钥的名称。
appservices users create --type=api-key
您还可以在调用程序时指定参数:
appservices users create --type=api-key \ --app=<Your App ID> \ --name=<API Key Name>
要使用 Admin API创建服务器API密钥,请求向创建新的API密钥端点发出请求。
用户 API 密钥
您可以使用 Realm 软件开发工具包(Realm SDK)生成用户 API 密钥。每个用户 API 密钥都与一个非匿名用户相关联。每个用户可以将最多 20 个用户 API 密钥与其账户关联。将密钥与用户帐户关联后,用户可以使用该密钥进行身份验证。下图显示了如何创建和使用用户 API 密钥:
如需了解如何生成用户 API 密钥,请参阅 Realm SDK 文档。
Realm 软件开发工具包(Realm SDK)示例
有关演示如何使用 API 密钥身份验证进行注册和登录的代码示例,请参阅 Realm 软件开发工具包(Realm SDK)的文档。
使用 API 密钥登录
Realm SDK 可以使用现有服务器或用户 API 密钥登录。
创建用户 API 密钥。
Realm SDK 可以为现有用户账户创建新的用户 API 密钥。