【问题标题】:Auth0 integration with NGRXAuth0 与 NGRX 的集成
【发布时间】:2020-08-21 19:04:04
【问题描述】:

我想拥有 Auth0 的 ngrx。还在这里找到了很好的教程:https://auth0.com/blog/ngrx-authentication-tutorial/。问题是在重定向到登录模式并返回我的应用程序后,我失去了应用程序状态,所以看起来应用程序已重新启动。

你知道我能做什么吗?

还值得使用ngrx+auth0吗?

【问题讨论】:

    标签: angular ngrx auth0


    【解决方案1】:

    身份验证成功后,您可能需要将令牌存储到本地存储/会话存储中,然后当您的应用“重启”时,您可以检查之前保存的访问令牌,使用该令牌发出请求以获取用户信息并将其保存到状态中。

    如果您正在与 OAuth 提供商集成,我建议您查看 this library

    希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      您可以调度您的操作并检查您的路由守卫中的状态。这样,您始终检查状态并更新任何授权路线是否为空。

      • checkLogin - 这将检查用户是否已通过身份验证。如果是,请获取用户配置文件和任何其他逻辑(本地存储、内存等),如果不是,则重定向到登录。
      • selectIsAuthenticated - 来自通过上述检查设置的身份验证状态的布尔值。
      @Injectable({
          providedIn: 'root'
      })
      export class AuthGuard implements CanActivate {
      
          constructor(
              private store: Store<AppStore>
          ) { }
      
          canActivate(): Observable<boolean> {
              this.store.dispatch(checkLogin());
              return this.store.select(selectIsAuthenticated);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-20
        • 2019-11-20
        • 2017-04-03
        • 2019-12-13
        • 2019-11-22
        • 1970-01-01
        • 2017-04-29
        • 1970-01-01
        相关资源
        最近更新 更多