最近在测试的时候突然遇到一个问题,当在第三方SSO系统点击登出的时候,手机APP直接返回到了登录的页面,因为是后端代码改动,对系统进行迁移,原始需求已经不见了,所以这里只能分析他这种行为方式的合理性。
从技术角度分析,当用户在APP中点击某个链接进入第三方SSO系统时,APP会与第三方系统建立一个认证会话。在这个会话中,APP与第三方系统通过令牌(token)进行认证和授权,并在认证成功后获取一些用户信息。
当用户在第三方系统中点击登出按钮时,第三方系统会将该信息发送给APP,通知APP用户已经退出。但是具体会导致APP一同退出的原因取决于APP的实现方式和设计决策。以下是可能导致APP一同退出的几种常见情况:
-
单点登录(Single Sign-On):如果APP使用了单点登录机制,也就是说APP与第三方SSO系统共享同一个会话状态,当用户在第三方系统中登出时,会触发会话的失效,同时APP也会收到失效通知并被强制退出。
-
事件监听:APP可能会监听第三方SSO系统发送的特定事件,如登出事件。一旦APP监听到该事件,它可以根据自身逻辑决定退出或保持登录状态。
-
逻辑决策:APP的开发者可能决定在用户退出第三方系统后,将APP一同退出,这是一种设计决策。例如,为了保持用户信息的同步和安全性,或者为了提供用户更好的体验,让用户意识到他们已经退出了整个系统。