【问题标题】:How to handle redirects with aws cognito federated identities如何使用 aws cognito 联合身份处理重定向
【发布时间】:2020-09-21 22:10:06
【问题描述】:

我有一个使用 ReactJS 的 SPA(单页应用程序)。 目前,我允许用户使用 Amplify 控制台通过 AWS Cognito 使用 Facebook 或 Google 登录(我的网站由 S3 上的 Amplify 托管)。

我的问题是,当用户尝试进入需要登录的页面时,他会被重定向到登录页面(使用 react-router-dom v4),然后当他们登录时,他们会被重定向到 Facebook/谷歌,然后重定向回我网站的主页。

我想将他们返回到发送给他们登录的页面,因为这会给我的用户带来糟糕的用户体验。

我使用的 Auth 功能是: Auth.federatedSignIn({ provider: "Facebook" }).

当会话刷新并且商店未维护时,如何将它们发送回将它们发送到重定向的页面而不将页面存储在我的商店中?

【问题讨论】:

    标签: reactjs oauth-2.0 amazon-cognito react-router-v4 aws-amplify


    【解决方案1】:

    您可以将页面作为自定义状态传递

    Auth.federatedSignIn({provider: 'Google', customState: JSON.stringify(route)})
    

    并在身份验证事件中取回

    Hub.listen('auth', ({payload: {event, data}}) => {
    
      switch (event) {
        case 'signIn':
          user = data
          break
    
      case 'customOAuthState':
          route = JSON.parse(data)
          // go to route
          break;
      }
    

    })

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 2018-11-07
      • 2018-04-06
      • 2018-04-05
      • 2016-12-29
      • 2018-02-11
      • 2018-01-24
      • 2017-06-08
      相关资源
      最近更新 更多