如何在 apollo-client 中实现注销
Posted
技术标签:
【中文标题】如何在 apollo-client 中实现注销【英文标题】:How to implement logout in apollo-client 【发布时间】:2017-01-22 13:25:19 【问题描述】:apollo 文档中的认证示例如下:
https://github.com/apollostack/core-docs/blob/master/source/network.md#afterware
```
networkInterface.useAfter([
applyAfterware( response , next)
if (response.status === 401)
logout();
next();
]);
```
但是注销功能是什么样的呢?如果它确实是一个动作,我不清楚如何将它作为一个动作实际发送。文档对此真的不清楚,我无法在任何地方找到任何示例代码。有什么想法吗?
【问题讨论】:
【参考方案1】:看看我的实现:
const withUserHandlers = withHandlers(
logout: props => () =>
const client, navigation, setUser = props; // eslint-disable-line
removeTokenFromUse(client);
client.resetStore();
setUser(null);
const resetAction = NavigationActions.reset(
index: 0,
actions: [ NavigationActions.navigate( routeName: 'Login' ) ],
);
navigation.dispatch(resetAction);
);
【讨论】:
以上是关于如何在 apollo-client 中实现注销的主要内容,如果未能解决你的问题,请参考以下文章
如何在 node express 中实现 JWT(JsonWebToken) 注销
如何在基于 Keycloak/Spring 的应用程序中实现单点注销?
如何在登录系统中使用会话并在codeigniter中实现注销