【问题标题】:Verifying tokens in real-time to store in NgRx state?实时验证令牌以存储在 NgRx 状态?
【发布时间】:2020-05-28 06:45:11
【问题描述】:

我的 NgRx 存储中有一个“已验证”布尔值,用于跟踪用户是否有效。 但是这个变量只能在执行操作时进行切换——例如登录、注销或发送 POST——因为我必须在后端和客户端验证它。因此,它不能以我想要的方式使用(作为我的商店中的可靠状态变量)。我想知道是否有办法让这个布尔值保持实时?

【问题讨论】:

  • 您是否考虑过创建一个自定义选择器,该选择器将从商店中选择切片并根据它们确定用户是否经过身份验证?

标签: angular architecture authorization reactive-programming ngrx


【解决方案1】:

通常你会这样做:你有一个 auth 状态的商店,它有这个布尔值和默认值 undefined,这意味着状态不明确,所有警卫和应用程序的其他部分应该等待boolean

当应用程序加载时,您需要通过发出请求 /me/ping 来验证身份验证状态,并根据其响应通过相关操作将变量设置为 true / false。

您还应该有一个拦截器,它知道请求是否由于过期/错误的身份验证状态而被拒绝,并且此拦截器还通过相关操作将变量设置为 true/false。

【讨论】:

    猜你喜欢
    • 2018-06-13
    • 2020-12-08
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 2022-04-29
    • 2020-09-28
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多