当我说如果我还有其他选择的时候,请相信我,我会接受的,但是我处于机智。
我正在一家大公司工作,该公司已经有一个专门用于授权的图书馆。在大多数情况下,授权都是有效的,但 却是这样,它的工作方式是将您的应用置于渲染功能中的“授权组件”之间。 您不能更改授权组件的代码。
还应该使用该库自己的Redux存储,并且可以在该库中添加reducer,但不能添加中间件。您无法触摸此代码。
<Provider store={importedStore}>
<AuthorisedComponent
organisationId={orgId}
journeyConfig={journeyConfig}
allowUnauthorised={true}
data-selector="journey"
>
<YourApp/>
</AuthorisedComponent>
</Provider>
在这里事情变得棘手-有点...非常规。到目前为止,AuthorizedComponent 正在进行API调用以获取JWT令牌,但效果很好,但它不是将jwt令牌存储在内存,会话存储或本地存储中的任何位置。 >而是将其存储在无法公开访问的内部状态中。但是,我可以看一下源代码。
我需要 JWT令牌进行API调用以构建此新功能。
我想做的是:
const ExtendedAuthorizedComponent = React.cloneElement(<AuthorizedComponent/>)
ExtendedAuthorizedComponent.prototype.handleLogin = new function.
我知道这是一种反模式。我知道您不应该这样做。但是我没时间了,只有两个错误才是正确的选择。