首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-aad-msal清除本地存储。传递状态

react-aad-msal清除本地存储。传递状态
EN

Stack Overflow用户
提问于 2020-02-19 15:43:16
回答 1查看 464关注 0票数 1

所以在过去的两天里我一直在碰壁。我已经有近2年没有玩过ract/前端的工作了,所以请容忍我。

场景:

  • 加载页面
  • 在本地存储中抛出东西(查询字符串
  • 到登录授权页面(使用

- and

  • ))
  • 返回主页
  • 尝试从本地存储中检索数据,但我添加的键丢失。存在msal标记等。

环境:

用于调试的

  • Chrome
  • React插件

意想不到的扭曲:这是随机发生的。在昨天的大部分时间里,它都在工作。然后我添加的密钥就开始失效了。今天早上也是这样。

据我所知-如果我把一些东西放在本地存储中,它会一直留在那里,除非被请求以编程方式或其他方式删除。

那么这是怎么回事呢?

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 18:56:22

好的,我想我明白了。它必须是msal的行为-无论它是react-aad-msal还是它所包装的实际msal.js。无论如何,解决方案被证明是在创建提供程序时在AuthenticationParameters上传递状态参数中的查询字符串,同时忽略了本地存储问题。

我只是从component传递查询字符串:

代码语言:javascript
复制
<AzureAD
 provider={authProviderWithState(this.props.queryString)}
 reduxStore={this.props.reduxStore}
 forceLogin={false}>

然后将其粘合在默认设置的顶部

代码语言:javascript
复制
export const authProviderWithState = (state) => {
    whichAuthParams.state = state;
    return new MsalAuthProvider(whichConfig, whichAuthParams, LoginType.Redirect);
};

State被简单地附加到授权端点使用的回调url中,因此它可以按我需要的方式工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60295267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档