我们可以在 MFP 上注销后使旧的访问令牌失效吗?

Posted

技术标签:

【中文标题】我们可以在 MFP 上注销后使旧的访问令牌失效吗?【英文标题】:Can we invalidate the old access token after logout on MFP? 【发布时间】:2018-11-15 08:54:53 【问题描述】:

我目前使用的是 IBM Mobilefirst 平台 8.0。 目前,我面临一个问题:

在我的 MFP 上,我有 1 个安全检查来保护 1 个适配器。 流程是这样的:

    通过安全检查登录 可以获得访问令牌(我称之为TOKEN_1) 可以向适配器请求资源 注销 这一步,我使用TOKEN_1向适配器请求资源,返回401未授权(这里正确) 再次使用安全检查登录 现在可以获取新的访问令牌(我称之为TOKEN_2)

此时,我可以同时使用 TOKEN_1 和 TOKEN_2 向适配器请求资源,我认为这不是一件好事(仅针对我的情况和我的观点)

我认为 TOKEN_1 应该不再有效,而只有 TOKEN_2。

那么,我的问题是,在我们使用 MFP 注销后,有什么方法可以使访问令牌永久失效?

非常感谢您。

【问题讨论】:

注销会在本地清除令牌。您使用什么 API 来注销?另外,这是特定于 android 还是 ios 的?科尔多瓦还是本地人? 我们正在使用 WL.logout() 函数,在后台,它调用 MFP 上的“/preauth/v1/logout”端点 WLAuthorizationManager.logout(securitycheck) ?这将清除 SDK 中的令牌。您使用的是什么版本的 SDK,是原生的还是 Cordova?安卓/iOS? 我们正在使用 Cordova。但是我们可以在 WL 向 MFP 上的适配器发出请求时捕获 OLD 和 NEW 访问令牌,我提到的一点是,目前我们可以同时使用 OLD 和 NEW 访问令牌来调用适配器。 【参考方案1】:

您可以使用 API clearAccessToken 手动清除移动设备中的访问令牌。

您可以在注销调用之前或之后调用它。这是为了确保清除内存中保存的所有令牌相关数据。这不会清除您在代码中记录并存储的任何令牌数据。

一旦您使用 WLAuthorizationManager.logout(securitycheck) 注销,下次您请求受保护的资源时,MFP 客户端 SDK 始终会获取新令牌。

【讨论】:

嗨 Vivin K,谢谢您的回复。我知道那个 API。但我想知道访问令牌。在我们注销并再次登录后,旧的访问令牌应该不再有效,对吧?这是重点。 WLAuthorizationManager.logout(securitycheck) ?这将清除 SDK 中的令牌。您使用的是什么版本的 SDK,是原生的还是 Cordova?安卓/iOS? 我们正在使用 Cordova。但是我们可以在 WL 向 MFP 上的适配器发出请求时捕获 OLD 和 NEW 访问令牌,我提到的一点是,目前我们可以同时使用 OLD 和 NEW 访问令牌来调用适配器。 会检查这个。

以上是关于我们可以在 MFP 上注销后使旧的访问令牌失效吗?的主要内容,如果未能解决你的问题,请参考以下文章

黑名单 JWT 令牌

如何使旧的 Eclipse 项目在带有 Gradle 的 Android Studio 上运行? [关闭]

在基于令牌的身份验证和单页应用程序中注销

我们应该与访问令牌一起更新刷新令牌吗?

在 Lumen 5.4 中注销后 JWT Auth 令牌不会失效

即使卸载后旧的 GCM 令牌仍然存在吗?