我有一个使用stormpath身份管理服务的网络应用程序。
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) 一个网络应用程序(我们称之为 WA1),它使用stormpath 进行身份验证(该应用程序工作正常)
3)另一个Web应用程序(我们称之为WA2)将使用stormpath登录(对于相同的应用程序ID)和上述Web应用程序(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漏洞。
希望这个回答对你有帮助!您还可以通过 support@stormpath.com 联系我们。
关于django - Web 应用程序中基于 Stormpath token 的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36607001/