1.2 KiB
1.2 KiB
PSID 与登录状态流程
通过 /external-entry 携带 PSID 进入应用时,按照以下流程保存身份信息并决定是否调用 Facebook Identity 绑定接口。
flowchart TD
A["外部链接进入 /external-entry"] --> B{"是否携带有效 PSID?"}
B -- "是" --> C["将 PSID 保存到本地存储"]
B -- "否" --> D["跳过 PSID 保存"]
C --> E["等待 Auth 状态初始化完成"]
D --> E
E --> F{"是否为正式登录用户?"}
F -- "否:Guest 或未登录" --> G["不调用绑定接口"]
F -- "是:Email / Google / Facebook" --> H{"是否存在有效 PSID?"}
H -- "否" --> G
H -- "是" --> I["派发 Facebook Identity 绑定请求"]
I --> J["调用绑定接口"]
I --> K["立即跳转到 target 页面"]
J --> L{"绑定结果"}
L -- "成功" --> M["绑定完成"]
L -- "失败" --> N["记录警告并保留原登录状态"]
G --> K
M --> O["不影响当前页面"]
N --> O
绑定请求不会阻塞目标页面跳转。通过外部入口进入时如果是 Guest 或未登录状态,本次入口不会调用绑定接口,之后登录也不会自动补调本次绑定。