小编Ton*_*ony的帖子

手动设置 aws-amplify 用户会话

我有一个由多个应用程序使用的认知用户池。我有一个中央身份验证应用程序,用户可以在其中登录/注册/重置密码/等任何与身份验证相关的内容。

我还有五个用户可以访问的其他应用程序。我没有让他们登录每个应用程序,而是将身份验证应用程序嵌入到 iframe 中。如果用户登录,它会向父文档发送 postMessage,或者如果用户登录后令牌无效,它将使用 cognito 会话对象发送 postMessage。

是否可以在父文档中完成诸如 Auth.setUserSession(session) 之类的操作?现在,我必须构建一堆带有令牌和用户名值的字符串,并将它们手动保存到本地存储。

我一直在查看 aws-amplify 身份验证代码,但我没有看到任何可以实现此目的的内容。

谢谢。

在父文档中:

    const eventMethod = window.addEventListener ? 'addEventListener' : 'attachEvent';
        const eventListener = window[eventMethod];
        const messageEvent = eventMethod === 'attachEvent' ? 'onmessage' : 'message';
        eventListener(messageEvent, async evt => {
          const session = _.get(evt, 'data.session');
          if (session) {
              this.saveUserSession(session);
          }
        }, false);

        private saveUserSession(session) {
// this is the code that I would like to simplify with something
// Auth.setUserSession(session)

            const cognitoClientId = environment.COGNITO.Auth.userPoolWebClientId;

            const userName = …
Run Code Online (Sandbox Code Playgroud)

amazon-cognito aws-amplify

7
推荐指数
1
解决办法
3140
查看次数

标签 统计

amazon-cognito ×1

aws-amplify ×1