授权 Stormpath 应用程序的正确方法是什么?

What's the correct way to authorize Stormpath apps?

我将 express-stormpath 软件包与我在 Stormpath.com 帐户中创建的新应用程序一起使用。

我在我的应用程序中使用 stormpath 我必须提供一个应用程序 HREF 在 stormpath 管理的应用程序页面中提供,我还必须提供一个 API 密钥和秘密.

我一直在为我在 one 分配给帐户的管理员租户上制作的每个应用程序创建一个新的 API key/secret,我注册的一个。

然后我使用 API key/secret 通过 Stormpath 授权我的 express 应用程序。

因此,在我的管理员帐户中,我有一长串 API 密钥,但我不知道哪个密钥适用于哪个应用程序。

这是我应该做的吗?

就是感觉很乱。我看到普通应用用户可以给API keys/secrets,这些是干什么用的?我可以为每个应用程序创建一个 admin 用户并使用他们的 API 密钥和秘密而不让他们成为 stormpath 管理员吗?

这有意义吗?我试过直接通过电子邮件发送支持.. 但他们并不真正理解其中的任何内容。 :/

首先,这是一个很好的问题,所以我不确定你为什么被否决。 API 键可能是一个令人困惑的话题。在回答你的具体问题之前,我会试着解开他们周围的谜团。

在 Stormpath 中,有两种类型的 API 密钥:租户 API 密钥和帐户 API 密钥。租户 API 密钥是您对 Stormpath 进行 API 调用所需要的。他们将您标识为 Stormpath 租户的管理员,并授予您对所有租户数据的完全 read/write 访问权限(换句话说,您存储在 Stormpath 中的所有内容)。根据定义,管理员可以访问 Stormpath API 和管理控制台(也就是您登录 Stormpath 时看到的网页)。

还有帐户 API 键的概念。帐户是注册使用您的网络应用程序、移动应用程序或 API 服务的人(或设备)。在 Stormpath 中,帐户存储在目录中,而目录又存储在应用程序中。 You can read all about this here。我喜欢将帐户 API 密钥视为更安全的用户名和密码版本。如果您要构建自己的 API 服务并希望用户在开始向您的 API 发出请求之前进行身份验证,它们就非常有用。

真的就这些了。 API 密钥验证您的身份——仅此而已。有大量文章讨论 API 密钥是否比其他方法更安全,因此您可以随意查看。但是在 Stormpath 中,为了与我们的 API 进行通信,您必须将自己标识为 Stormpath 租户管理员。在构建自己的网络应用程序、移动应用程序或 API 服务时,您可以选择希望您的 用户与您的[=26] 用户进行交互的方式=] 服务。

我希望这有助于解决问题。

如果您想为您的用户创建任何其他类型的 roles/permissions,您需要了解授权及其在 Stormpath 中的工作方式。我不会在这里详细说明,但是 you can read all about it in our docs