这是有关MobileFirst OAuth的previous question的后续内容。问题是对WL.Client.logout(“SomeRealm”)的调用不会删除该Realm / Scope的OAuth令牌,因此调用受OAuth保护的资源仍然成功。
答案引用InfoCentre要求调用
obtainAuthorizationHeaderForScope
暗示这将清除令牌。我的实验似乎表明这不能按预期工作。首先,我正在使用JavaScript API并找到此
WLAuthorizationManager.obtainAuthorizationHeader("SomeRealm")
作为相应的功能。但是这个功能似乎导致了对
的调用 http://myHost:10080/MyProject/authorization/v1/authorization
它会触发挑战处理程序,也就是说,它会尝试重新进入指定的Realm。我没有看到任何WL API来销毁OAuth令牌。我能想到的只是称为编程等同于
localStorage.removeItem("com.worklight.oauth.idtoken")
或者在我的挑战处理程序中添加一些kluges。我在这里错过了什么吗?
答案 0 :(得分:1)
通过调用
完成注销 WLAuthorizationManager.obtainAuthorizationHeader(); // no parameters
我的错误在于我们可以选择性地从单个领域中删除,而是实际上删除了我们的整个OAuth令牌。