我按照Interactive Live SDK中的Javascript在My Web App中启用了Onedrive,它运行正常。
但是,按照上述方法在指定的重定向域中设置wl_auth cookie。其中包含在此期间登录的用户的详细信息。
当我退出用户并使用其他帐户登录时,旧Cookie的价值仍然存在,我只能附加旧用户的文件而不是新帐户。我必须按照每次删除cookie的繁琐过程来签署新用户。
我见过一个Javascript方法来订阅Microsoft帐户中的注销事件。它被称为WL.Event.subscribe。我附上以下代码来订阅注销事件,
WL.Event.subscribe("auth.logout", onLogout);
function onLogout() {
WL.logout();
}
我尝试退出旧帐户并使用其他帐户登录。问题仍然存在。为什么呢?
非常感谢任何帮助。谢谢!
注意:我的网络应用程序中没有登录按钮。当用户第一次点击“从Onedrive附加”按钮时,将要求他们输入登录信息。如果他们已经登录,他们将被重定向到Onedrive文件Picker(直到cookie没有到期)。
答案 0 :(得分:2)
您是使用自定义登录按钮还是使用WL.ui中的登录按钮?如果您使用的是WL.ui登录按钮,则应在用户单击“注销”按钮时清除Cookie。您在上面提供的功能只会在用户退出后签署。您可能希望将事件更改为“auth.statusChange”并调用WL.getLoginStatus以查看它返回的内容。