我有一个使用 Stormpath 身份管理服务的 Web 应用程序。

Stormpath 对我来说是新的……直到现在我明白你可以注册并登录到stormpath,stormpath 会给你访问 token 。每个帐户都与一个 application_id 相关联。正确的?

我看了这两篇文章

http://docs.stormpath.com/guides/token-management/

https://stormpath.com/blog/build-api-restify-stormpath/

所以在这里我对我的用例/场景有几个问题。
这里有 3 个主要组件。

1) Storm 路径

2)一个使用stormpath进行身份验证的网络应用程序(我们称之为WA1)(这个应用程序工作正常)

3)另一个Web应用程序(我们称之为WA2),它将使用stormpath登录(对于相同的aplicationid)和上面webapp(WA1)公开的另一个API。

如果我登录我的应用程序(WA2),我会得到一个 token 。现在如何使用此 token 访问 WA1 公开的 api。

如果我直接从stormpath 注销,我是否仍会登录我的应用程序。
如果是,那么我们之后如何对用户进行身份验证。

这些查询可能听起来很愚蠢,但相信我,我读了又读,但无法理解流程。如果你能解释一下就好了。

PS:我正在使用 Django + django-stormpath(在 WA1 中)
和 angular/Node/express(在 WA2 中)
PPS:还是整体基于 session 的身份验证(第一次登录后)?

最佳答案

我在 Stormpath 工作,我应该可以提供帮助。我们的框架集成(Django、Express)将使用 Stormpath API 在用户登录时为用户创建访问和刷新 token ,这些 token 存储在 Http-Only cookie 中,无法从 JavaScript 访问。如果您的两个 Web 应用程序位于同一个根域中,您或许可以在应用程序之间共享 cookie。如果应用程序不在同一个域中,您有两种选择:

  • 使用我们的 ID Site feature ,在不同域上的两个应用程序之间维护单点登录 cookie。
  • 使用 /oauth/token 端点 that our framework integrations provide 手动获取 token ,然后将它们存储在本地存储中,以允许您以跨域方式使用它们。注意:本地存储确实存在安全漏洞,尤其是 XSS 漏洞。

  • 我希望这个答案有帮助!您也可以通过 [email protected] 与我们联系。

    关于django - Web 应用程序中基于 Stormpath token 的身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36607001/

    10-13 04:51