使用身份验证 API 时,我应该如何将经过身份验证的用户保留在我的数据库中?

How should I persist authenticated users in my database when using an authentication API?

我知道这是一个有点菜鸟的问题,但我不确定什么是最佳解决方案。我有一个 REACT/Node.js 应用程序正在使用身份验证 API(在本例中为 Stormpath)。该应用程序正在运行。我有本地用户的登录名以及 facebook 和 Google 的社交登录名。但是我的应用程序将有一个本地数据库(最有可能是postgres),我需要在其中保留经过身份验证的用户,以便我可以在登录时将我的应用程序中的内容与该用户相关联。我应该怎么做,或者我想我应该在哪里做这个?我的登陆页面(post 登录)是否应该有一些动态事件(页面加载或其他)调用一些中间件来插入或验证现有用户?我的 API 提供程序是否缺少一个钩子,我可以在其中抓住用户。我看过但无法触发我在我的应用程序中设置的任何中间件休息端点,我认为这些端点是 Auth API 端点,可以提供我正在寻找的用户信息。如果我能找到我的中间件,我就可以毫无问题地将函数写入 insert/verify 本地数据库中的用户。我实际上已经编写并测试了它,所以我知道它有效。我只是想要一些建议或有人将我推向正确的方向。我现在在没有任何帮助的情况下独自工作,因此非常感谢任何建议。

仅供参考,我正在使用 Stormpath-sdk-react。

react中有componentWillMount()、componentDidMount()等各种生命周期函数。在 componentWillMount() 中,您可以点击 Api 或使用本地数据库并检查经过身份验证的用户,在 componentDidMount() 中,您可以取消请求。

componentWillMount() 在 render() 之前被调用,componentDidMount() 在 render() 之后被调用

你不是说你使用哪个框架。如果是 Express,那么您可以使用 Express-Stormpath. Also when you're using React then you may want to use stormpath-sdk-react 来帮助您进行 API 集成。当您在前端获取用户信息时,您可以使用它与后端的自定义端点通信以存储您需要的任何信息。另一种方法是在后端使用 Stormpath 端点,并使用您获得的数据将其发送到前端。两种方式都可以。

参见: