我有一个使用 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。如果应用程序不在同一个域中,您有两种选择:
/oauth/token
端点 that our framework integrations provide 手动获取 token ,然后将它们存储在本地存储中,以允许您以跨域方式使用它们。注意:本地存储确实存在安全漏洞,尤其是 XSS 漏洞。 我希望这个答案有帮助!您也可以通过 [email protected] 与我们联系。
关于django - Web 应用程序中基于 Stormpath token 的身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36607001/